【问题标题】:Conditional force build publisher CCnet fails条件强制构建发布者 CCnet 失败
【发布时间】:2015-08-09 02:25:13
【问题描述】:

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

【问题讨论】:

标签: cruisecontrol.net cruisecontrol ccnet-config


【解决方案1】:

如果布尔参数为真,则写入 A.pack 监视的文件。如果文件变脏,A.pack 会构建。 A.pack 使用 Filesystem Source Control Block 监听被 A 弄脏的文件。

【讨论】:

  • 感谢您的回答。真的可以这样做。但我认为,就我的情况而言,这将是一个肮脏的黑客攻击。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多