如何发布存在相互依赖关系的两个Bamboo计划?
解决Bamboo循环依赖计划的发布问题
这是典型的循环依赖问题,直接按顺序发布肯定行不通,得拆成「先创建基础计划,再补全依赖」两步来做:
第一步:创建无循环依赖的基础计划
先把两个计划里的互相依赖项临时移除,分别发布空壳计划:
// 移除PlanParent里对PlanChild的子计划依赖,先发布 PlanParent tempParent = new PlanParent(); tempParent.removeChildPlanDependency(); // 临时去掉子计划关联 bambooServer.publish(tempParent); // 移除PlanChild里从PlanParent下载制品的任务,再发布 PlanChild tempChild = new PlanChild(); tempChild.removeArtifactDownloadTask(); // 临时去掉制品下载任务 bambooServer.publish(tempChild);
第二步:补全依赖并更新计划
等两个计划都成功创建后,再分别更新它们,把之前移除的依赖加回去:
// 更新PlanParent,添加PlanChild作为子计划 PlanParent updatedParent = bambooServer.getPlan("PlanParent"); updatedParent.addChildPlan("PlanChild"); bambooServer.update(updatedParent); // 更新PlanChild,添加从PlanParent下载制品的任务 PlanChild updatedChild = bambooServer.getPlan("PlanChild"); updatedChild.addArtifactDownloadTask("PlanParent"); bambooServer.update(updatedChild);
补充说明
不管你用的是Bamboo Java客户端、REST API还是其他自动化工具,核心逻辑都是一致的:先建立不包含循环依赖的「空壳」计划,再通过更新操作补全依赖关系。更新完成后可以手动触发一次计划校验,确保依赖配置生效。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

