基数 AWS代码构建文档,我们可以通过 EnvironmentVariables
与 PARAMETER_STORE
类型。
我已经确保参数存储名称为 打对了 和参数是 存在.
我曾尝试通过aws cli登录,但似乎与此无关,仍然得到错误的结果。
这是我的云计算平台Yaml片段。
- Name: Build
Actions:
- Name: HelloWord
ActionTypeId:
Category: Build
Owner: AWS
Provider: CodeBuild
Version: "1"
Configuration:
ProjectName: HelloWoldBuild
EnvironmentVariables:
Fn::Sub:
- '[{"name": "NGINX_BASE_IMAGE_TAG","value": "${NGINX_BASE_IMAGE_TAG}","type": "PARAMETER_STORE"}]
- NGINX_BASE_IMAGE_TAG: "/nginx/base"
这里是我的 buildspec.yaml
的片段。
version: 0.2
phases:
install:
runtime-versions:
docker: 18
pre_build:
commands:
- echo "${NGINX_BASE_IMAGE_TAG}"
当我看到CodeBuild日志时,输出的是'***'. 正确的应该是我的参数库中的值。
怎么会发生这种情况?我还是不明白。我测试了 PLAINTEXT
类型,并且效果良好。
这是设计好的。
来自参数存储的值是 认为是敏感的.
所以CodeBuild将它们遮挡起来,这样它们就不会出现在 纯文本.
要处理这个问题,你可以把它分配给 异变,并打印出来。下面将是我处理这个问题的第一个尝试。
pre_build:
commands:
- NEW_VAR=${NGINX_BASE_IMAGE_TAG}
- echo "${NEW_VAR}"
另一种方法: 保存到文件中,然后打印出一个文件。
pre_build:
commands:
- echo ${NGINX_BASE_IMAGE_TAG} > /tmp/test.value
- cat /tmp/test.value