我的经理要求为我们的项目设置构建自动化。我决定使用CruiseControl.Net作为我们的持续集成服务器,因为其他一些团队成员对此有一些经验,但我没有 - 这就是为什么我很乐意执行此任务。使用CruiseControl.Net构建一个已加标签的项目
我们使用Subversion作为我们的存储库,最终目标是在每次标记项目时实例化构建。因此,例如:
添加一个文件夹的svn:// SVN /标签/ projectX创建/例如svn:// SVN /标签/ projectX创建/ JulyCheckPoint 应签新添加的标记(SVN:// SVN /标签/ ProjectX/JulyCheckPoint)并运行一个nant文件(D:\ temp \ tags \ ProjectX \ JulyCheckPoint \ nant.build)
我知道CruiseControl是能够监视svn:// svn/tags/ProjectX /进行更改,但我不确定如何将最新标记签出到构建服务器的本地磁盘,并在内部运行nant.build,如果我不知道最近标签的名称。我做了一些Google搜索,并相信svn post-commit挂钩可能是我应该研究的内容。
我希望这一切都有道理,请让我知道,如果你需要进一步的细节/澄清。任何指导/意见将不胜感激。
干杯。
谢谢,我一定会看看那篇文章。我想到的下一步就是每晚实施干线建设(为了您提到的目的)。 最终,通过从标签构建,我希望构建标记的构建管理器/开发人员能够获得包含标记项目的.msi安装包(查看WiX)。这样,我们所达到的任何里程碑都可以通过简单地标记特定版本来构建到发行版安装中。他们有什么缺点,我忽略了吗? – Boris 2009-07-16 00:29:50
这听起来像是一个合理的请求,但它并不适合CC.Net的工作方式。 在这种情况下,我会建议有第二个CC.Net项目称为发布版本,由管理员运行。这个版本将创建MSI,然后标记主干。如果需要修改标记的代码,则可以分支并创建一个新的CC.Net项目以从该分支构建。 这是一个非常简单的概述,但希望能给你一些想法,让你开始。 – MikeD 2009-07-16 11:02:28