我有一个包含两个阶段的竹子构建:构建和测试和发布。竹子的工作方式,如果 Build&Test 失败,则不会运行 Publish。这通常是我想要的东西。
但是,有时,Build&Test 会失败,但我仍然希望 Publish 运行。通常,这是一个手动过程,即使测试失败,我也想按下一个按钮,以便我可以运行 Publish 阶段。
过去,我有两个独立的计划,但我想将它们合二为一。这可能吗?
我有一个包含两个阶段的竹子构建:构建和测试和发布。竹子的工作方式,如果 Build&Test 失败,则不会运行 Publish。这通常是我想要的东西。
但是,有时,Build&Test 会失败,但我仍然希望 Publish 运行。通常,这是一个手动过程,即使测试失败,我也想按下一个按钮,以便我可以运行 Publish 阶段。
过去,我有两个独立的计划,但我想将它们合二为一。这可能吗?
从 Atlassian 帮助论坛,这里: https ://answers.atlassian.com/questions/52863/how-do-i-run-just-a-single-stage-of-a-build
简短的回答:没有。如果你想跑一个阶段,之前的所有阶段都必须成功完成,对不起。
您可以做的是使用隔离功能,但这涉及重新运行失败的作业(在尚未发布的 Bamboo 4.1 中,您可能必须在构建结果屏幕上按“显示更多”才能看到重新运行按钮) .
在这种情况下可能有帮助的另一件事(但不适用于 OP)是禁用工作。
一般来说,大多数 Bamboo 问题的最佳解决方案是尽可能少地依赖 Bamboo,因为您最终无法修补它。
在这种情况下,我将快速编写/重用异步依赖解析机制(类似于 GNU Make 及其目标),并从单个阶段运行它。
然后只需在类似默认all
的目标上运行所有内容,并让用户在自定义运行变量上选择目标。