AWS Codecommit-Codebuild将分支名称传递给buildspec.yml

时间:2019-08-01 14:52:24

标签: aws-codepipeline aws-codebuild aws-codecommit

我正在使用codecommit,codebuild和codepipeline,以便每次我在一个分支上提交时,都会从codebuild中的codecommit建立关联的管道(然后进行部署/失效)

我的package.json中有3个不同的脚本,分别称为build-master,build-test和build-prod,分别与master,test和prod这3个分支相关。

# buildspec.yml
phases:
  install:
    commands:
    - yarn --dev
  pre_build:
    commands:
    - aws configure set preview.cloudfront true
    - bash -c 'echo "Build started `date` on bucket s3://xx.xxxxxx.$CODEBUILD_SOURCE_VERSION.web"'
  build:
    commands:
    - bash -c 'yarn build-$CODEBUILD_SOURCE_VERSION'
artifacts:
  files:
    - '**/*'
  base-directory: 'dist'
  name: xxxx-xxxx.$(date +%Y-%m-%d-%h-%M-%s).$(CODEBUILD_SOURCE_VERSION)

$ CODEBUILD_SOURCE_VERSION给了我管道的知识。 我尝试了codebuild提供的其他变量,但无济于事。

我还尝试使用bash -c从git获取分支,但是在代码构建中,我无权访问存储库。

是否可以通过当前配置获取分支名称?

1 个答案:

答案 0 :(得分:0)

您可以使用所需的环境变量为每个分支/管道设置不同的CodeBuild项目。