如何配置Bamboo Job仅在指定develop分支可见并可执行?
你之前使用的任务级执行条件仅控制任务是否运行,不会影响作业本身的加载逻辑,所以非develop分支仍然会展示Job C。以下两种方案可以实现非develop分支完全不展示、不加载Job C的需求:
方案1:拆分阶段+阶段级分支条件(兼容性最优)
你可以将Job C从原有Stage中拆分,单独放入一个专属阶段,为该阶段配置分支匹配条件,只有develop分支会加载该阶段,其余分支完全看不到该阶段及内部的Job C。
配置示例:
stages: # 原有通用阶段,所有分支可见 - Stage A: manual: false final: false jobs: - Job A - Job B # 仅develop分支可见的专属阶段 - Stage Dev Only: manual: false final: false conditions: - variable: equals: planRepository.branch: develop jobs: - Job C
该方案兼容Bamboo 7.0及以上所有版本,无需依赖高版本特性。
方案2:作业级启用条件(无需调整原有阶段结构)
如果你的Bamboo版本在8.0及以上,可以直接为Job C添加作业级的启用条件,该条件会控制作业本身是否被加载到阶段列表中,而非仅控制内部任务执行逻辑。
配置示例:
stages: - Stage A: manual: false final: false jobs: - Job A - Job B - Job C: # 作业级启用条件,仅develop分支会加载该作业 conditions: - variable: equals: planRepository.branch: develop
配置完成后,非develop分支的Job列表中不会出现Job C,也不会产生空的执行记录。
内容的提问来源于stack exchange,提问作者Alexander Ende
相关产品推荐
相关产品推荐

