通过代码管道输出'***'从参数存储中获取值。

问题描述 投票:1回答:1

基数 AWS代码构建文档,我们可以通过 EnvironmentVariablesPARAMETER_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 类型,并且效果良好。

amazon-web-services environment-variables aws-codebuild
1个回答
1
投票

这是设计好的。

来自参数存储的值是 认为是敏感的.

所以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
© www.soinside.com 2019 - 2024. All rights reserved.