Как передать переменную и значения среды в codebuild из правил событий Cloudwatch?

У меня есть CodeBuild buildspec, который имеет команду для запуска на основе сред (читает Env. Переменную), например: Dev, Test и т. Д. Я вместо создания двух разных Codebuild для запуска этой команды, я хочу передать значение переменной Env из правил CloudWatch, то есть с Константа (Джсон).

Я пытался использовать следующее, но ничего не получалось:

  1. {"name": "Env-var", "value": "valueFromCWatch"}.
  2. {"name": "Env-var", "value":"valueFromCWatch", "type": "PLAINTEXT"}
  3. {"environmentVariables":[{"name": "Env-var", "value": "valueFromCWatch"}]}
  4. { "EnvironmentVariables": [{ "Имя": "ENV-переменная", "значение":"valueFromCWatch", "тип":"PLAINTEXT"}]}

Например, использование в BuildSpec:

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

Есть ли другой способ?

1 ответ

Решение

Цели CodeBuild поддерживают все параметры, разрешенные API StartBuild. Вам нужно использовать environmentVariablesOverride в вашей строке JSON.

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

Кроме того, избегайте использования "-" в названии среды.

Другие вопросы по тегам