我有两个构建项目。让我们称之为项目A和项目A.pack。当我强制构建项目A时,如果我想构建项目A.pack,它会询问我的布尔参数。
但是我无法在发布商块中创建项目A强制构建项目A.pack的正确方法。我使用条件任务,但它不起作用。在日志文件中,ccnet仅写入条件任务失败。在ccnet中通常的做法是什么?
更新: 对不起我的英语不好。这不是我的第一语言。 我想做的是: 在项目A中,我添加了布尔参数:
<booleanParameter>
<name>ExampleParam</name>
<true name="Yes">1</true>
<false name="No">0</false>
<display>Example Param</display>
<default>No</default>
<required>false</required>
</booleanParameter>
并在这样的发布商中添加了条件强制构建:
<publishers>
<!-- some other tasks .. -->
<conditional>
<conditions>
<compareCondition>
<value1>${ExampleParam}</value1>
<value2>1</value2>
<evaluation>equal</evaluation>
</compareCondition>
</conditions>
<tasks>
<forcebuild>
<project>A.pack</project>
<serverUri>tcp://localhost:21235/CruiseManager.rem</serverUri>
</forcebuild>
</tasks>
</conditional>
</publishers>
当我按“强制”时它会询问“示例参数”,我检查“是”,当它完成构建仪表板时说构建成功但ForceBuildPublisher任务失败。 服务器日志中没有关于强制构建任务失败的原因的信息。
这是CruiseControl.NET-1.6.7
更新20150808: 我说服我的同事更新CCnet。在1.8.5版本中,可以像我写的那样进行条件构建。
答案 0 :(得分:0)
如果布尔参数为true,则写入A.pack监视的文件。如果文件变脏,则A.pack构建。请参阅Filesystem Source Control Block以供A.pack在收听由A弄脏的文件时使用。