条件强制构建发布者CCnet失败

时间:2015-08-04 05:43:37

标签: cruisecontrol.net cruisecontrol ccnet-config

我有两个构建项目。让我们称之为项目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版本中,可以像我写的那样进行条件构建。

1 个答案:

答案 0 :(得分:0)

如果布尔参数为true,则写入A.pack监视的文件。如果文件变脏,则A.pack构建。请参阅Filesystem Source Control Block以供A.pack在收听由A弄脏的文件时使用。