Bamboo 构建计划与部署计划

Bamboo Build Plans vs Deployment Plans

在 Bamboo 制定部署计划之前,我在 Bamboo 中设置了我团队的持续集成和交付系统。我有两个项目,每个项目对应一个产品,在每个项目中我有四个计划:

  1. QA 构建和部署(在我们存储库中的测试分支之外)
  2. 暂存构建和部署(离开我们存储库中的暂存分支)
  3. 生产构建和部署(离开我们存储库中的默认分支)
  4. 编译和 Analyze:a 构建在签入我们的测试分支时运行,确保代码编译并且没有任何 StlyeCop 或代码分析错误。

这很脆弱,因为任何时候我需要对构建或部署过程进行更改时,我都必须在八个计划中进行(因为我们有两个项目,每个项目都包含这四个计划)。

我正在想象切换到一个构建计划,每个环境都有一个部署计划。我的问题是:

  1. 如果我的构建针对特定环境构建(配置转换特定于环境,dll 是使用特定环境变量构建的,例如 Targets 和 DefineConstants)每个部署计划如何从构建中获得可用的环境工件?
  2. 我是否需要为构建计划中的每个环境构建?
  3. 我们环境对应的分支会消失吗?

是的,切换到一个构建计划肯定会使过程更容易。

  1. 您需要在 Bamboo 计划中添加分支(测试、暂存、默认...),然后您可以为每个分支定义不同的变量。这将允许您根据分支对构建进行不同的转换。

  2. 没有必要,如果您需要在多个环境中使用相同的构建 - 您可以将其部署到那里。

  3. 不,如果您想要为每个环境进行特定构建,您可能需要保留它们(请参阅 1.)。只要您拥有可以部署到任何环境的构建,就可以摆脱它们。

然后您为您的项目创建 1 个部署计划,添加您需要的所有环境并为每个环境配置特定的触发器。例如:暂存环境 - 您将“Branch to trigger this deployment”更改为 'staging'