我们在 Bamboo 中有三个项目,每个项目都有一个或两个事件计划,具体取决于我们离发布的距离有多远。我已将计划分成多个阶段以提供更大的灵活性,并禁用并发构建。
如果一个项目正在构建并且在第二个项目上进行了提交,则剩余的计划会相互“交错”。例如,给定两个项目“m”(维护)和“n”(新开发),以及一组计划(fetch-source、build-servers、build-clients、deploy),阶段可能执行如下:
m:fetch-source
m:build-servers
n:fetch-source
m:build-clients
n:build-servers
m:deploy
n:build-clients
n:deploy
这会导致两个构建运行速度变慢,并破坏了我们将作业分成多个阶段的目标之一。有没有办法让一个计划在完成之前独占访问,然后运行队列中的下一个计划?换句话说,我可以将 Bamboo 配置为在计划级别将多个阶段视为单个阶段吗?
最佳答案
除非您通过要求和功能指定只有一个代理可以运行该特定阶段集,否则我不确定这样做的方法。
我能想到的唯一另一种方法是将计划分组到带有插件的代理:
https://marketplace.atlassian.com/plugins/com.edwardawebb.bamboo-group-agent
关于continuous-integration - 给予多阶段计划独占访问权,直到完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9995750/