这似乎很琐碎,我几乎不敢问...
根据某些条件,我可以通过查看Bamboo变量来检查这些条件,有时我只是想停止执行构建和/或部署。在Bamboo中,有条件执行步骤的可能性似乎非常有限,而且我无法解决此问题。
我找到了一种解决方法,该方法正在运行一个错误退出的脚本,例如简单的Powershell脚本,

exit 1


但这显然会导致构建显示为失败,这实际上不是我想要的。我只是想在某些情况下阻止部署。

有人知道在Bamboo计划中完成停顿的优雅方法吗?

评论

那出口0呢?

@Tensibai-出口0将使Bamboo继续执行计划中的以下步骤,因为出口0基本上表示“我已经做好了,一切顺利”。我需要它停止执行。

将其误解为在中间停止脚本与停止计划之间。不使用竹子,所以我不知道。

@kaizenCoder谢谢。但是有几种不包含脚本的任务类型,在这些任务类型中-一种将如何引入条件检查?

(附带说明:今天我确实尝试过与Atlassian讨论问题。所以我去了Bamboo论坛,创建功能请求-系统说功能请求需要从另一个系统输入,我转到另一个系统,选择Bamboo作为产品,另一个系统说我必须使用Bamboo论坛来提交功能请求。。。。。。。。。。。。。。。。。。。。。。 br />

#1 楼

您可以手动停止正在进行的构建。从停止活动的构建开始:

要停止活动的计划构建:

,单击“仪表板”,然后单击“所有计划”选项卡。您想要停止的活动计划。


还似乎可以使用REST API以编程方式停止构建/部署,更具体地,向相应的URL发出DELETE请求:

/ queue / {projectKey}-{buildKey}-{buildNumber:([0-9] +)}?stage&executeAllStages
...
DELETE
停止构建执行。
可用的响应表示形式:
如果用户没有足够的权限来查看或执行指定计划的构建,则返回
成功时(成功时构建已经完成-没什么可停止的)
404
指定的作业不存在时返回


#2 楼

我知道这不是每个人都想要的干净解决方案,并且是一个讨厌的解决方法,但是对我有用的是将所有部署逻辑压缩到一个脚本任务(shell脚本)中,然后在其中放置必要的条件,例如: br />
if [ <put condition for terminate here> ] ; then 
   exit 0
fi 
<Continue with other execution logic>


这样,您可以以0退出(因此构建显示为成功),但是当然可以防止您重复使用所有非常规的代码。 box易于使用的Bamboo任务类型,并质疑使用Bamboo框架作为包装的好处。