我正在使用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获取分支,但是在代码构建中,我无权访问存储库。
是否可以通过当前配置获取分支名称?
答案 0 :(得分:0)
您可以使用所需的环境变量为每个分支/管道设置不同的CodeBuild项目。