Vss并不负责进行编译和部署,他只是管理你的的代码,维护他们的版本。
一般情况下,我们也不将编译的产出放在VSS服务器上。因为,一般情况下我们都可以很快的基于服务器上的源代码产生一个新的dll。
对于自动集成,你需要部署你的自动集成环境。刚才在网上搜了一下,好像很多人都用CruiseControl.Net进行自动集成的部署。但是,我认为,如果项目不大,MSBuild完全可以完成自动集成的工作。同样,如果项目不大,只需要部署每日集成就完全可以满足大多数需要了。但是,可能需要自己开发一些东西(至少我们公司目前是采用这种方式进行的,感觉已经完全够用了)
这件事情我不是从头开始做的,所以一时也不能给你很详细的介绍。重点讲几个我们实践中的点吧:
1. 每天Build时,给源代码打Label
VSS中获得某一天的源代码的能力太弱(几乎是不可能完成的任务),因此,有时候你想回溯以前的代码,找到出问题的点(这种事情还是时有发生的)时,没有Label,你会抓狂的。
2. 确保每天都是编译通过的
除非有明确的原因,否则必须确保每天的Build都是通过的,可以采取一些惩罚措施,比如,如果谁嵌入的代码导致当天的Build不通过,需要请所有开发人员喝可乐。(实践证明,这种小惩罚方式对于团队的氛围很有帮助,当然,PM某些时候也要给大家一些奖励:))
如果经常的违反这一条,Daily Build也就失去了应有的价值。
推荐一系列文章,也许有用:
http://www.cnblogs.com/cnblogsfans/archive/2008/04/24/1169689.html
提问者对于答案的评价:研究了一下cc.net,还不错。不过不觉得好用,可能还没熟悉它。还是谢谢了。