在 AWS Codestar 中,如何将分支部署配置到特定环境?

In AWS Codestar, how to configure branch deployments to specific environments?

我刚刚创建了一个全新的 AWS Codestar 项目。

据我所知,Codestar 只是一个集成了多个 AWS 产品的仪表板。

有一件事我还不知道如何配置,那就是分支部署。

在我的 git 存储库中,我有 3 个分支:masterdevelopstaging

在理想情况下,master 部署到生产环境,develop 部署到开发环境,staging 部署到 QA 环境。

我不知道如何使用 AWS 配置此管道,而且我无法在他们的开发人员门户中找到相关文档。

这是我的 buildspec.yml 文件,以防万一它可以在那里配置:

version: 0.2

phases:
  install:
    commands:
      - echo Installing NPM Packages...
      - npm install
  build:
    commands:
      - aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template template-export.yml

artifacts:
  type: zip
  files:
    - template-export.yml

这是一个使用 AWS API 网关将请求路由到 AWS Lambda 函数的项目(如果重要的话)。

遗憾的是,AWS CodePipline 不支持传入 git 分支。去年他们只增加了支持以通过 git 提交 sha1(更多可以找到 here)。

我建议您遵循 CodePipline 文档 here, to create 3 pipelines one for each branch (you can even create a special buildspec_dev.yaml or buildspec_prod.yaml, check out more examples here)。