CruiseControl.net每个创建(默认)项目下的子目录:c:\Program File\CruiseControl.NET\server
配置CruiseControl.net项目目录
我怎样才能改变这种状况? (将数据与程序文件混合在一起是一个坏主意......)
我找到了一种为每个项目配置工件目录的方法,但这并不完全(它只是项目目录的子目录)。
CruiseControl.net每个创建(默认)项目下的子目录:c:\Program File\CruiseControl.NET\server
配置CruiseControl.net项目目录
我怎样才能改变这种状况? (将数据与程序文件混合在一起是一个坏主意......)
我找到了一种为每个项目配置工件目录的方法,但这并不完全(它只是项目目录的子目录)。
我在这里没有安装CC.NEt,并且我的atm在工作时无法访问我的构建服务器,但是如果我没记错的话,应该在c:\ Program Files \ CruiseControl.NET中找到2个配置文件夹。
ccnet.exe.config和ccservice.exe.config。
第一个配置文件在使用控制台应用程序运行CC.NET时使用,第二个配置文件在启动CC.NET作为服务时使用。
在这些文件中,您应该找到一个配置设置,它指向描述项目构建过程的配置文件的位置。
编辑: 在ccservice.exe.config文件中,您会在appSettings部分找到一个名为ccnet.config的密钥。将此键的值更改为您要放置ccnet.config文件的路径。
如果该键不存在,你可以添加:
<appSettings>
<!-- Without this appSetting ccservice will look for ccnet.config in its own directory. -->
<add key="ccnet.config" value="D:\CCNetConfigFiles\ccnet.config"/>
</appSettings>
这是多么我已经做到了:
<!DOCTYPE cruisecontrol [ <!ENTITY project1 SYSTEM "file:D:\CCNETConfigFiles\project1\project1buildconfig.xml.config"> <!ENTITY project2 SYSTEM "file:D:\CCNETConfigFiles\project2\project2buildconfig.xml.config"> <!ENTITY project3 SYSTEM "file:D:\CCNETConfigFiles\project3\project3buildconfig.xml.config"> ]>
<cruisecontrol>
&project1;
&project2;
&project3;
</cruisecontrol>
通过这样做,我可以将每个项目配置放在它自己的文件中,我可以将每个项目配置放在它自己的目录中。
可能不是您正在等待的答案,但仍然可能会很有趣:我们使用了大约20个具有大约50个不同构建的构建机器。因为混合数据和程序文件并不是一个好主意,所以我们决定将我们的ccnet安装放在源代码控制中。每个服务器在该目录中(也在源代码管理中)都有自己的配置文件,并且本地批处理文件或快速启动ccnet指定使用哪个配置文件。这意味着本地数据(构建日志)与执行中的数据(ccnet二进制文件/配置文件)混合在一起,但我们已经接受了这种情况。希望这可以帮助。
问候,
Sebastiaan
嗯,它不真的回答我的问题。不过,我确实在我的cc.net安装下保留了所有非二进制文件。这是个好主意。 – 2009-08-09 18:07:52
设置项目的工作和工件目录,即可大功告成。他们默认为:
[ccnet-install-dir]\[project-name]\WorkingDirectory
[ccnet-install-dir]\[project-name]\Artifacts
。如果你设置这些目录...
[projects-dir]\[project-name]\WorkingDirectory
[projects-dir]\[project-name]\Artifacts
...你可以安全地删除[ccnet-install-dir]\[project-name]
子树(你将失去你的项目建立的历史则)。
那么你的配置看起来像这样:
<project name="foo">
[...]
<workingDirectory>C:\projects\foo\WorkingDirectory</workingDirectory>
<artifactDirectory>C:\projects\foo\Artifacts</artifactDirectory>
[...]
</project>
是的,但是*你如何设置这些目录? – 2009-11-23 18:20:19
@splattered bits:添加配置片段。现在应该更清楚了。 – 2009-11-24 09:50:24
那不是我的问题。项目在ccnet.config中配置。我感兴趣的是如何在添加新项目时配置添加了项目_folders_的目录。 – 2009-08-09 14:03:05
你应该更好地阅读我的答案,我猜。 – 2009-08-09 14:06:14
我刚才。也许我误解了一些东西。 “描述项目构建过程的配置文件的位置”是\ server目录。在其中存在几个子目录,每个项目一个。这些子目录不包含配置文件。它们大多包含构建的工件。你是否建议在ccservice.exe.config中确定这些子目录的位置?因为我找不到它。 – 2009-08-09 18:06:47