5

我希望能够将 CruiseControl.Net 的 ccnet.config 文件保存在 svn 中,然后当我签入更改时,即我添加了一个新项目,它会自行更新。

这样我就可以将配置文件置于源代码控制之下,并且可以跟踪所做的更改。

我确实意识到我可以签入一个更改,这会将 CruiseControl 搞砸到我必须进行一些手动干预的程度,但在一般情况下,这听起来会非常好用。

然而,这个循环似乎有可能创造一个黑洞并毁灭世界。如果可能的话,我想保持良心。

有什么想法吗?

4

2 回答 2

4

我们正在做几乎完全一样的事情,并且没有出现任何黑洞......或者它们可能只是蒸发了?:) CruiseControl.NET 处理得很好,它甚至会等到任何其他构建完成后再重新启动。

我们的流程听起来有点复杂,下面是工作流程的简要介绍:

  • 在我们的“Omega”构建(RTM,GA,Gold,...)中,我们自动创建一个新的 ccnet 项目。项目基于一个分支(其名称也是从程序集版本自动生成的),该分支也是同时创建的。
  • 添加了新项目,更新了 ccnet.config 以引用它,更新、提交、然后更新工作副本。

所以我们需要(最多)2次点击来从ccnet创建一个发布版本——一次点击创建分支和ccnet项目,然后再一次点击强制第一个版本针对发布分支,或者你可以等待不可避免的修补 ;-)

如果您需要,很乐意提供更多详细信息。

于 2009-02-12T22:43:33.723 回答
2

我也不喜欢手动更改 ccnet.config。这是我做的:

将 ccnet.config(和相关的)添加到 svn。制作了一个项目“配置”并添加了以下部分:

  • SourceControl 块将配置签出到“准备”目录。
  • 将不在 svn(安全配置部分)中的配置文件复制到“prep”目录。
  • 再次运行 CCNetValidator 'Prep' 目录
  • 将配置签出到实际的配置位置。

我最喜欢的一点是,当我在配置中出错时,我的构建失败,但实际配置尚未更新。

于 2011-09-30T04:57:58.137 回答