【问题标题】:How to use environment variables defined in the Codebuild console, within the buildspec.yml如何在 buildspec.yml 中使用 Codebuild 控制台中定义的环境变量
【发布时间】:2019-09-12 09:00:21
【问题描述】:

在 Codebuild 控制台中声明的环境变量没有得到解析。

我已经尝试了尽可能多的 YAML 变量用法变体;

$VARIABLE
${VARIABLE}
"$VARIABLE"

版本:0.2

env:
  variables:
    AWS_S3_BUCKET_NAME: "AWS_S3_BUCKET_NAME"
    API_URL: "API_URL"
  parameter_store:
   aws_access_key: "my-access-key"
   aws_secret_key: "my-secret-key"

phases:
 install:
  runtime-versions:
   python: 3.7
 post_build:
  commands: >-
    AWS_REGION=${AWS_REGION}
    SOURCE_REPO_URL=${CODEBUILD_SOURCE_REPO_URL}
    SOURCE_BRANCH=${CODEBUILD_SOURCE_VERSION}
    AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME}
    AWS_ACCESS_KEY=${aws_access_key}
    AWS_SECRET_KEY=${aws_secret_key}
    // custom script

文档指定您需要具有这种键/值对的 env 结构。其中 key 是我要使用的名称,value 是要从中获取值的变量/参数的名称。

在 Codebuild 中运行时,输出只是准确地显示了写入的内容,而不是替换变量...

【问题讨论】:

    标签: amazon-web-services environment-variables aws-codebuild


    【解决方案1】:

    只需在 "commands:" 之后删除块咀嚼指示符 >-。这只是防止变量替换。

    您可以在构建规范中使用 $VARIABLE 或 ${VARIABLE}。

    【讨论】:

      【解决方案2】:

      首先尝试使用 echo 来查看是否可以看到值。我按照以下方式使用它对我有用

          version: 0.2
      env:
       variables:
           key: "value"
      pre_build:
         commands:
           - echo ${key}
      

      【讨论】:

        猜你喜欢
        • 2019-03-13
        • 1970-01-01
        • 2021-09-25
        • 2017-06-17
        • 2020-07-01
        • 2013-02-28
        • 1970-01-01
        • 2013-02-05
        • 2016-09-25
        相关资源
        最近更新 更多