当前位置: 首页 > 知识库问答 >
问题:

AWS代码生成默认环境变量。

充子航
2023-03-14

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

对于我的代码构建,我使用的是AWS管理的映像。aws/codebuild/nodejs:7.0。0

如果我通过CodeBuild控制台手动启动构建并指定存储库,则在buildspec中运行以下命令时会获得存储库URL

- printf ${CODEBUILD_SOURCE_REPO_URL}

但是如果代码构建是由推送到存储库自动触发的。CODEBUILD_SOURCE_REPO_URL没有回报

共有2个答案

陆绍辉
2023-03-14

如果您是通过CodeCommit进行连接,则可以使用以下方法拆分字符串以获得更有用的值,如帐户Id和回购名称:

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
勾起运
2023-03-14

如果您是从codepipeline运行进程,它将是空的。

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

CODEBUILD\u SOURCE\u REPO\u URL:输入工件或源代码存储库的URL。对于AmazonS3,这是S3://后跟bucket名称和输入工件的路径。对于AWS CodeCommit和GitHub,这是存储库的克隆URL。如果生成源于AWS CodePipeline,则该生成可能为空。

 类似资料:
  • 问题内容: AWS在Lambda函数中引入了用于访问的环境变量。我找不到任何文档来说明如何使用Java从Lambda函数访问环境变量。谁能帮我? 问题答案: 您可以通过以下方式获得它们:

  • 我正在尝试将一个网站从Heroku迁移到AWS,但在代码构建方面遇到了麻烦。源代码在GitHub上,我使用的是CodePipeline-CodeBuild-Elastic Beanstalk。管道运行良好,代码似乎正在向Elastic Beanstalk过渡。然而,我被困在代码构建步骤。(buildspec.yml如下所示) 日志似乎可以很好地运行命令,但是当我将构建输出到S3存储桶时,没有构建文

  • 问题内容: 我刚刚安装了jre7,很惊讶地看到我的默认语言环境现在是en_US。对于jre6,它是de_CH。 jre7有什么不同?默认语言环境不再是操作系统之一吗?(顺便说一句,我正在使用Windows7) 谢谢你的回答。 编辑:我已经看到了 Category.FORMAT 的语言环境是“旧”的(de_CH)。区域设置为 Category.DISPLAY 从OS的语言的语言(在Windows中,

  • 我正试图用我的MERN stack web应用程序自动化构建过程。 目前,我使用CodePipeline,它: 从GitHub获取我的代码作为源代码 使用CodeBuild(Ubuntu 2.0)运行构建 并将其部署到我的Elastic BeanStalk环境中 步骤1 在尝试使用CodeBuild之后,即使客户端似乎完全按照日志进行构建,前端似乎也不会更新。 以下是我CodeBuild项目的一些

  • 我的API定义如下: 我们使用生成代码。 生成的API参数:

  • 开始使用AWS代码构建。 目标是让docker图像作为最终结果,并在其中运行nodejs、hapi和示例应用程序。 目前我有一个问题:“无法准备上下文:无法在Dockerfile路径中计算符号链接: lstat /tmp/src049302811/src/Dockerfile:没有这样的文件或目录”出现在BUILD阶段。 项目详情: S3存储桶用作源 存储在各自S3存储桶中的ZIP文件包含buil