You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Bamboo触发方式设置构建变量的实现方法

基于Bamboo触发方式实现差异化构建(快速构建/完整归档)

完全可行,Bamboo本身就支持根据触发源控制步骤是否执行,下面是具体实现方法和替代方案:

一、最直接的实现:内置变量+步骤条件判断

Bamboo自带识别构建触发原因的内置变量,直接用它控制归档步骤的执行即可,无需额外插件。

操作步骤

  1. 明确触发方式对应的变量值
    Bamboo的bamboo.buildTriggerReason变量会返回构建触发类型:

    • 代码提交/推送触发:值为commit(Git/SVN提交、webhook触发均返回此值)
    • 每日定时构建:值为scheduled
  2. 给归档步骤添加执行条件
    找到构建计划里的「归档和安装包创建」步骤,进入编辑页面:

    • 找到「Conditions」(条件)设置项,选择「Run only if a condition is met」
    • 输入条件表达式:${bamboo.buildTriggerReason} == "scheduled"
    • 保存配置即可
  3. 验证效果
    代码提交触发构建时,归档步骤自动跳过,实现快速构建;每日定时构建时,该步骤正常执行,生成归档和安装包。

二、进阶玩法:自定义变量适配更多场景

如果需要手动触发时也能选择是否执行归档,可以通过自定义变量扩展:

  • 在构建计划的「Variables」中添加自定义变量RUN_ARCHIVE,默认值设为false
  • 编辑每日定时触发配置,在「Trigger-specific variables」里设置RUN_ARCHIVE=true
  • 将归档步骤的条件改为${bamboo.RUN_ARCHIVE} == "true"
  • 这样手动触发构建时,还能手动选择是否开启归档,灵活度更高

三、替代方案:拆分两个构建计划

如果觉得条件判断不够直观,可直接拆成两个独立计划:

  1. 快速构建计划:绑定代码提交/推送的webhook,移除归档步骤,仅做编译检查
  2. 完整构建计划:设置每日定时触发,保留所有步骤生成归档包
  • 优点:逻辑清晰,各自维护不互相干扰
  • 缺点:需维护两个计划,公共步骤可通过Bamboo的「共享任务」减少重复配置

内容的提问来源于stack exchange,提问作者nobs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 07:03:22