说一下我的理解。原来在SQL Server相关的项目中做外包,对MSSQL这边的过程比较了解,估妄推测一下,当然肯定会有不同。
基本上每天都有若干组的不同Branch的Build在机器池里面跑。估计是每个组都负责不同的方面,所以诞生了好多的Branch,最后再合并到Main或者Release Branch。基本上每个开发者都能提交Build来跑,只要是过了最开始的代码检查,SQL这边叫PCV,然后他们提的请求就会进入Build系统的等待序列,有相应的机器资源的时候就开始Build的过程。所以每天都有好多的Build出来供test team来做测试。Releae team提的请求通常会有最高的优先级来做,所以在产品即将发布的时候就会有频繁的Release啥的出来。然后OS这边应该差不多的流程,而且资源可能会更多,毕竟是MS比较大的现金牛。
一般情况下,确实好多人会不得不去吃Dogfood来发现更多问题。当Win比较稳定点,比如Milestone 或者Preview后在SQL的test机器池就会有单独的子池来跑test,以便测试兼容性,当然也可能发现OS的Bug,因为比较稳定了比较少就是了,估计其他产品组也会这样子。
然后Preview后MSIT就会发布一些镜像鼓励大家安装试用。
MS现在开发速度应该提升了不少,以前有什么问题的时候会发邮件给FTE,等美国那边上班之后在解决,但是从13年底变了FTE可能有24小时叫醒服务哦,免费的呦!
之前的Build系统都是人手工写脚本来跑的,后来才有的自动化Build系统。然后测试系统也差不多是这样,人在里面就跟机器差不多了,当然这部分都是外包商在做。
PS:14 年7月离开微软的外包商,当时负责Build和Test相关的打杂,可能有些东西已过时,现了解内情的FTE或者Vendor请轻拍(^_^) |