繁体   English   中英

AWS CodeBuild 默认环境变量。

[英]AWS CodeBuild default environment variables.

我创建了一个管道,它从 CodeCommit 存储库中获取代码,通过 CodeBuild 构建它并将代码推送到 S3 存储桶。

对于我的 Codebuild,我使用的是 AWS 托管映像。 aws/codebuild/nodejs:7.0.0

如果我通过 CodeBuild 控制台手动开始构建并指定存储库,当我在构建规范中运行以下命令时,我会获取存储库 URL

- printf ${CODEBUILD_SOURCE_REPO_URL}

但是如果 CodeBuild 是通过推送到存储库自动触发的。 CODEBUILD_SOURCE_REPO_URL 不返回任何内容

如果您从 codepipeline 运行该进程,它将为空。

看看这个: https : //docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html

CODEBUILD_SOURCE_REPO_URL:输入工件或源代码存储库的 URL。 对于 Amazon S3,这是 s3:// 后跟存储桶名称和输入工件的路径。 对于 AWS CodeCommit 和 GitHub,这是存储库的克隆 URL。 如果构建源自 AWS CodePipeline,则这可能为空。

如果您通过 CodeCommit 进行连接,则可以使用以下方法拆分字符串以获得更有用的值,例如 Account Id 和 Repo Name:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM