我可以在svn中保留CruiseControl.Net的ccnet.config,然后在检查更改时让CruiseControl更新自己的配置文件吗?

时间:2009-02-12 22:30:31

标签: svn cruisecontrol.net ccnet-config

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

这样我就可以在源代码管理下使用配置文件了,我可以跟踪正在进行的更改。

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

但是,这个循环似乎可能会造成黑洞并摧毁世界。如果可能的话,我想保持这种良心。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我们几乎就是这样做的,并没有出现黑洞......或者他们确实已经消失了? :) CruiseControl.NET处理得非常好,它甚至会等到任何其他构建完成后才重新启动。

我们的流程听起来有点复杂,以下是工作流程的简要说明:

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

因此,我们需要(最多)2次点击才能从ccnet创建发布版本 - 一次单击以创建分支和ccnet项目,然后再单击一次以强制第一次构建针对发布分支,或者您可以等待对于不可避免的补丁; - )

如果您愿意,可以提供更多详细信息。

答案 1 :(得分:2)

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

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

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

我最喜欢的是,当我在配置中出错时,我的构建失败了,但实际的配置还没有更新。