我有一个 Cruise Control (v1.5.726) 安装,各种项目正在多台机器上构建。每台机器构建它配置为运行的任何项目,如果构建成功,则将输出的副本放置在 Web 服务器上,以便内部访问。我有一个包含“黄金”(已知工作)CC.net 安装的 SVN 分支,所以当我想添加另一台构建机器时,我需要做的就是将 SVN 分支同步到该机器并创建一个调用的批处理文件ccnet.exe,然后引用 .ccnet.config 文件,该文件包含每台机器负责构建的项目列表。
昨天我想出了如何将 CC.net 设置为 Windows 服务,但我似乎无法像使用 ccnet.exe 那样将任何参数传递给 ccservice.exe。我能够让 ccservice.exe 加载机器特定配置的唯一方法是在 ccservice.exe.config 文件中添加一行,该文件引用回机器配置。例如
<add key="ccnet.config" value="C:\CruiseControl\Config\Machine-Name.ccnet.config"/>
现在,考虑到我有多个构建机器并且配置文件是通过 SVN 存储的这一事实 - 将 ccservice.exe.config 提交回 SVN 会导致问题,因为它引用了单个机器的配置文件。
我的问题是 - 是否有某种方法可以将命令行参数(或某种方法告诉 ccservice 要查看哪个配置文件)传递给 ccservice.exe 其他,而不是通过 ccservice.exe.config 文件?我试过 ccservice.exe /? 但我只看到弹出消息说您必须使用 IntstallUtil.exe 将 CC.net 安装为服务。
我正在使用 CC.net 版本:1.5.7256.1 构建机器正在运行 Windows 7 Enterprise。英特尔酷睿 i7-2600K CPU。16GB 内存。
如果您需要任何进一步的信息,请告诉我。
谢谢里奇