防止在使用cc.net进行其他构建时强行进行构建

时间:2018-09-03 11:03:09

标签: cruisecontrol.net nant

我要求在其他项目进行时不要触发构建:

<cb:config-template xmlns:cb="urn:ccnet.config.builder">

    <project name="prj1" queue="Q1" queuePriority="1">
    </project>

    <project name="prj2" queue="Q1" queuePriority="2">
    </project>

    <project name="prj3" queue="Q1" queuePriority="3">
    </project>

    <project name="prj4" queue="Q1" queuePriority="4">
    </project>

</cb:config-template>

当我强制prj4构建时,考虑inProgress的构建为prj1。它不应该继续。需要显示弹出窗口并要求确认。有人知道如何解决吗?
我正在使用nant命令来构建脚本。谢谢。

1 个答案:

答案 0 :(得分:0)

如果项目1和2必须一次运行,请将它们放在一个队列中,一次只能进行1个构建。您已经完成了部分工作,因为您的构建项目在一个队列中(我之前以某种方式错过了它)。

我不确定如何告诉CC.Net提示应该出现在哪里。在测试过程中,如果您正在测试的地方,它可能会出现在您的计算机上,但是,一旦您进行部署-如果完全看到该提示(无论采用哪种形式)都将出现在其他地方。 CC.Net可能正在作为服务运行,因此不会出现提示。

如果您的意思是在网络信息中心显示提示-我不知道实现此目的的方法。选择代码获取CCTray并对其进行修改以查找这种情况是一种选择。

我更喜欢将CCNet服务器置于自动驾驶仪上,因此我设置了队列和队列深度(即:可以在特定队列中同时运行的活动版本的数量)来管理所有这些。由于文档已经移动了很多,因此很难追踪这些信息。我看到CC.Net现在已移至github。 https://github.com/ccnet/CruiseControl.NET

顺便说一句,我注意到我之前从未见过queue locking feature。这可能在某种程度上有所帮助,但没有提供提示。