亲爱的无所事事的stackoverflow忍者,我需要你的帮助!
我有一个CruiseControl.NET项目,可以构建C#解决方案并执行一些脚本。每次我使用" Debug"进行提交时,它都会构建项目。 MSBuild配置。
我需要的是让CC使用" Debug 2"来构建我的项目。配置,当我进行强制构建时,它应该继续使用" Debug"在git commit上构建时的配置。
是否可以进行此类动态配置?如果是的话,我应该怎么做?
答案 0 :(得分:0)
好的,我在CC文档中找到了条件。
<conditional>
<conditions>
<buildCondition>
<value>ForceBuild</value>
</buildCondition>
</conditions>
<tasks>
<!-- Tasks to perform if condition passed -->
</tasks>
<elseTasks>
<!-- Tasks to perform if condition failed -->
</elseTasks>
</conditional>
答案 1 :(得分:0)
另一种选择是在构建脚本中检查构建条件。 构建脚本可能是nant,msbuild,批处理,.... 这些语言通常为if,while,...构造提供比ccnet.config文件本身更多的选项。
这使ccnet.config更加干净,所有魔法都发生在构建脚本中。它还可以在不影响构建服务器的情况下更轻松地测试更改。
查看传递给他们的属性:
http://www.cruisecontrolnet.org/projects/ccnet/wiki/Integration_Properties
答案 2 :(得分:0)
使用ccnet参数;
http://cruisecontrolnet.org/projects/ccnet/wiki/Parameters
例如:
<booleanParameter>
<name>Configuration</name>
<true name="Debug2">Yes</true>
<false name="Debug">No</false>
<display>Configuration</display>
<description>Do you want to build Debug 2?</description>
<default>Debug</default>
<required>false</required>
</booleanParameter>
使用它:
<tasks>
<nant>
<executable>nant.exe</executable>
<buildArgs>-D:config=$[Configuration|Debug]</buildArgs>
...
</nant>
</tasks>
config作为属性传递给Nant。