如何将环境变量和值从 Cloudwatch 事件规则传递到代码构建?

How to pass environment variable & values to codebuild from Cloudwatch Event rules?

我有一个 CodeBuild 构建规范,它具有基于环境(读取环境变量)的 运行 命令,例如:Dev、Test 等。我没有为 运行 这个命令创建两个不同的代码构建,我想从 CloudWatch 规则传递 Env 变量值,即使用 Constant (Json)。

我尝试使用以下方法,但没有任何效果:

  1. {"name":"Env-var", "value":"valueFromCWatch"}
  2. {"name":"Env-var", "value":"valueFromCWatch", "type":"PLAINTEXT"}
  3. {"environmentVariables":[{"name":"Env-var", "value":"valueFromCWatch"}]}
  4. {"environmentVariables":[{"name":"Env-var","value":"valueFromCWatch","type":"PLAINTEXT"}]}

例如,BuildSpec 中的用法:

- echo "Environment variable is: " `Env-var`

还有其他方法吗?

CodeBuild 目标支持 JSON 字符串中 StartBuild API. You need to use environmentVariablesOverride 允许的所有参数。

{"environmentVariablesOverride": [ 
     { 
         "name": "Envvar",
         "value": "valueFromCWatch"
      }
 ]}

此外,请避免在环境名称中使用“-”。