Bamboo 计划中的一个阶段是不是可以在前一个阶段失败的情况下开始?

Posted

技术标签:

【中文标题】Bamboo 计划中的一个阶段是不是可以在前一个阶段失败的情况下开始?【英文标题】:Is it possible to have a stage in a Bamboo plan start even though the previous one has failed?Bamboo 计划中的一个阶段是否可以在前一个阶段失败的情况下开始? 【发布时间】:2012-01-12 14:12:24 【问题描述】:

我有一个包含多个阶段的 Bamboo 计划配置。现在我想让这些阶段以一定的顺序执行,但独立于前一阶段的结果。

这对于 Bamboo 来说似乎是不可能的。只有前一个阶段成功后,才会执行后续阶段。

有什么想法吗?

【问题讨论】:

真的很愚蠢,计划中仍然不支持此功能。管理这个简单的配置时,您的计划不必杂乱无章。 【参考方案1】:

“现在我想让这些阶段按特定顺序执行,但是 独立于前一阶段的结果。”

这句话似乎自相矛盾。如果您希望这些阶段按顺序执行,这意味着它们之间存在一些依赖/耦合。然而,您希望它们独立于前一阶段的结果执行。

它们是真正独立的,您可以将它们配置为作为一个阶段的一部分的独立作业。这些作业(可能包含多个有序任务)将独立并行执行。

详情请看以下内容:

http://quickstart.atlassian.com/download/bamboo/get-started/bamboo-elements

希望这可以帮助其他偶然发现这个问题的人。

【讨论】:

这并不矛盾。这与软件开发中 try/catch 的“最终”部分的概念相同【参考方案2】:

可能跑题了。

但如果您的唯一目的是确保某些活动不会并行执行并且顺序无关紧要,那么您可以尝试使用作业来配置这些活动。

Bamboo documentation 声明如下:

 Jobs within a given Stage will run in parallel as long as there are agents available to execute them.  Otherwise, Jobs run one at a time in no particular order.

表示如果只有1个agent可用,那么就不会并行执行,job会一个一个执行。

【讨论】:

【参考方案3】:

Dependencies 是执行此操作的方法。将您的阶段分成单独的计划。让每个计划都依赖于(被触发)之前的计划。

这不会给您完全相同的结果,但如果您需要有序阶段,这是唯一的方法。

【讨论】:

【参考方案4】:

使用 Dependencies 选项卡执行此操作,否则使用 ant 脚本。

【讨论】:

【参考方案5】:

最终阶段于 2019 年 2 月添加到 Bamboo 6.8.0

如上所述:https://jira.atlassian.com/browse/BAM-9771?focusedCommentId=1918676

以下 Atlassian 社区问题也提出了这个问题:

https://community.atlassian.com/t5/Answers-Developer-Questions/Creating-a-final-stage-in-Bamboo-that-is-always-run/qaq-p/543318 https://community.atlassian.com/t5/Bamboo-questions/Is-there-a-way-to-make-a-stage-run-regardless-of-previous/qaq-p/139255

【讨论】:

以上是关于Bamboo 计划中的一个阶段是不是可以在前一个阶段失败的情况下开始?的主要内容,如果未能解决你的问题,请参考以下文章

Bamboo 中的 REST 端点创建计划?

Bamboo 使用本地和远程代理构建

如何编写一个从另一个 Bamboo 计划获取内部版本号的新 Bamboo 计划?

从 Bamboo 到 Jenkins 的单一计划迁移

将参数传递给 Bamboo 中的构建

如果变量不存在,Bamboo 变量显示名称而不是值