【问题标题】:Programmatically triggered Bamboo plans以编程方式触发的 Bamboo 计划
【发布时间】:2015-09-01 04:36:26
【问题描述】:

我目前正在尝试使用竹子自动化发布过程。在一个版本中,有 5 个项目,每个项目都是可选的候选项目。所以一个发布可能只是 1/5 个项目,所以我不想每次都发布所有 5 个项目。

我能够使用竹子变量来选择要发布的 5 个项目中的哪一个,但是我正在努力寻找一种仅构建和部署所需候选者的非简单方法。

该过程需要如下工作:

  1. 在父计划中触发发布

    各种 Git 标记和分支使用脚本任务发生。

  2. 所选项目 (?/5) 的子构建是使用 Maven 构建步骤构建的,生成人工制品。

  3. 子构建计划触发部署计划并部署候选工件。

我在第 2 点上努力定义某种有选择地构建子计划的逻辑。

我已经研究过为不需要的候选人创建阻止程序,以便不要运行并通过计划中的竹变量以编程方式插入需求,这样没有代理能够运行不需要的计划。然而,这些方法有点老套和可怕。

【问题讨论】:

    标签: git release build-automation bamboo


    【解决方案1】:

    那么,你是怎么做的:

    1 个项目
    6 构建计划
    5 部署计划

    1 构建计划包含一个使用配置的脚本,在触发构建时设置一个简单的脚本来评估要发布的项目。

    您可以在每个项目存储库中创建一个远程分支,并使用以下命令强制每个计划搜索新存储库:

    curl -s -X POST --user BAMBOOUSER:BAMBOOUSERPASSWORD 'https://bamboo.aws.co.uk/chain/admin/detectBranches.action?planKey=#{planKey}'  
    

    然后您需要获取新创建的分支的分支计划密钥。因此,这将为您提供可以解析的键列表:

    curl -s -X GET --user BAMMBOOUSER:BAMBOOUSERPASSWORD 'https://bamboo.aws.co.uk/rest/api/latest/plan/#{planKey}/branch.json'
    

    构建每个候选存储库并为每个存储库设置一个部署项目。

    不理想,老实说,希望我可以使用 Jenkins。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2021-04-18
      相关资源
      最近更新 更多