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

时间:2019-02-07 20:39:10

标签: amazon-web-services aws-codebuild amazon-cloudwatch

我有一个CodeBuild buildspec,它具有基于环境运行的命令(读取Env。变量),例如:Dev,Test等。我不是创建两个不同的Codebuild来运行此命令,而是想从CloudWatch传递Env变量值规则,即使用Constant(Json)。

我尝试使用以下方法,但无济于事:

  1. {“名称”:“ Env-var”,“值”:“ valueFromCWatch”}。
  2. {“名称”:“ Env-var”,“值”:“ valueFromCWatch”,“类型”:“ PLAINTEXT”}
  3. {“ environmentVariables”:[{“ name”:“ Env-var”,“ value”:“ valueFromCWatch”}]}
  4. {“ environmentVariables”:[{“ name”:“ Env-var”,“ value”:“ valueFromCWatch”,“ type”:“ PLAINTEXT”}]}}

例如BuildSpec中的用法:

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

有其他方法吗?

1 个答案:

答案 0 :(得分:1)

CodeBuild目标支持StartBuild API允许的所有参数。您需要在JSON字符串中使用environmentVariablesOverride

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

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