以编程方式触发Bamboo计划

问题描述 投票:3回答:1

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

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

该过程需要如下工作:

  1. 在父计划中触发释放 使用脚本任务进行各种Git标记和分支。
  2. 所选项目(?/ 5)的子构建是使用Maven构建步骤构建的,从而生成人工制品。
  3. 子构建计划触发器部署计划和候选人工制品已部署。

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

我已经考虑为不需要的候选者创建阻止程序,以便不运行并以编程方式通过Bamboo变量在计划中插入需求,以便没有代理能够运行不需要的计划。然而,这些方法有点黑客和可怕。

git release build-automation bamboo
1个回答
2
投票

那么,你是如何做到的:

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

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

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

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

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

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

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

不理想,希望我能用Jenkins说实话。

© www.soinside.com 2019 - 2024. All rights reserved.