用于版本控制的AWS CodeBuild环境变量?

时间:2017-01-31 14:43:02

标签: amazon-web-services aws-codebuild

是否有任何类型的AWS CodeBuild环境变量可以帮助标记构建工件的版本信息? 。即Bamboo所具有的等价物bamboo_buildNumber。理想情况下,我想要内部版本号和SCM编号。

文档讨论CODEBUILD_x变量供内部使用,但我无法找到它们的列表。

3 个答案:

答案 0 :(得分:7)

此处列出了由CodeBuild提供的用于消费的环境变量的引用:http://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref.html#build-env-ref-env-vars

对于内部版本号相关信息,您可以使用CODEBUILD_BUILD_ID或CODEBUILD_BUILD_ARN。对于源相关信息,取决于构建的触发方式以及构建的输入参数(例如,如果您在开始构建时指定了源版本 - reference),您还可以使用CODEBUILD_SOURCE_VERSION或CODEBUILD_SOURCE_REPO_URL环境变量。

CodeBuild文档尚未使用这些更新的环境变量的详细信息进行更新。

谢谢!

答案 1 :(得分:2)

Amazon最近添加了一个BuildNumber环境变量。

根据https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html

CODEBUILD_BUILD_NUMBER: The current build number for the project.

答案 2 :(得分:0)

有很多环境变量,但是根据我的经验,它们并不十分可靠,因为它们取决于触发构建的方式。最有用的似乎是:

echo "Region = ${AWS_REGION}"
echo "Account Id = $(echo $CODEBUILD_BUILD_ARN | cut -f5 -d ':')"
echo "Repo Name = $(echo $CODEBUILD_SOURCE_VERSION | cut -f2 -d '/')"
echo "Commit Id = ${CODEBUILD_RESOLVED_SOURCE_VERSION}"

哪个输出:

Region = us-west-2
Account Id = 0123456789
Repo Name = my-app
Commit Id = a46218c9160f932f2a91748a449b3f9818964642