在工作中,我们使用Subversion和CruiseControl.NET作为源代码控制和CI工具。我们的Subversion结构设置如下:
Project
Branch
Tag
1.0.0.0
1.0.0.1
1.0.0.2
Trunk
目前,我们创建构建的过程是从主干和运行批处理文件创建标记,以构建我们的标记解决方案。批处理文件还运行我们所有的MSTests并计算代码覆盖率结果。
我想知道这是否是正常做法,或者是否更好地构建表单主干并使用CI(Hudson或类似)自动创建标记?
答案 0 :(得分:1)
标签应该是主干的廉价副本,所以你正在做的很好,因为你很高兴为潜在的成功和不成功的构建创建一个标签。
使用trunk build然后标记进程,您可以创建它,以便它只根据构建是否成功创建标记。如果您要标记的是发布版本或潜在版本构建,这将非常有用 - 您知道至少它正确构建并通过了大量测试。这听起来像是一个更好的选择
无论你最终坚持哪种过程我肯定会考虑使用Hudson而不是Cruise Control。您将能够使用基于成功的构建升级和标记来设置更复杂的构建过程。请查看以下内容以进行构建促销:
http://configmanag.blogspot.com/2008/08/build-promotion-with-hudson.html
以及使用Hudson插件标记成功构建的以下内容:
http://wiki.hudson-ci.org/display/HUDSON/Subversion+Tagging+Plugin