首页 > 解决方案 > 在 GitHub 存储库中的每个新拉取请求上触发 AWS CodePipeline

问题描述

我组织中的源代码在 GitHub 存储库中进行管理。目前,我们的 CI 流程使用 AWS CodePipeline,如下所示:

我们想在我们的 git 存储库中添加对新拉取请求的检测。每当在我们的 repo 中创建新的 PR,我们希望通过上面的 CodePipeline 自动触发构建到 EB 环境。

我们的障碍:

这里最好的方法是什么?我已经看到一些正在讨论的方法,但其中大多数似乎都在繁琐/高维护方面。如果 AWS 工具链中有任何新功能可以让这变得简单,那么很高兴知道。

谢谢!

标签: amazon-web-servicescontinuous-integrationaws-codepipeline

解决方案


解决此问题的最佳方法似乎是使用参数化 CloudFormation 堆栈为每个 PR 创建一个 CodePipeline。

基本上这些步骤是:

  1. 使用 CloudFormation 定义您的 CodePipeline,并具有一个标识环境的参数 - Prod、QA、PR_xyz 等。
  2. 设置 CodeBuild 以触发对 GitHub 存储库的任何更改。创建新 PR 时,让 CodeBuild 基于您的 CloudFormation 模板构建新的 CodePipeline。创建 CloudFormation 堆栈时,提供 PR 的名称作为环境名称。

此处描述了详细步骤:https ://moduscreate.com/blog/track-git-branches-aws-codepipeline/


推荐阅读