Как передать переменную и значения среды в codebuild из правил событий Cloudwatch?
У меня есть CodeBuild buildspec, который имеет команду для запуска на основе сред (читает Env. Переменную), например: Dev, Test и т. Д. Я вместо создания двух разных Codebuild для запуска этой команды, я хочу передать значение переменной Env из правил CloudWatch, то есть с Константа (Джсон).
Я пытался использовать следующее, но ничего не получалось:
- {"name": "Env-var", "value": "valueFromCWatch"}.
- {"name": "Env-var", "value":"valueFromCWatch", "type": "PLAINTEXT"}
- {"environmentVariables":[{"name": "Env-var", "value": "valueFromCWatch"}]}
- { "EnvironmentVariables": [{ "Имя": "ENV-переменная", "значение":"valueFromCWatch", "тип":"PLAINTEXT"}]}
Например, использование в BuildSpec:
- echo "Environment variable is: " `Env-var`
Есть ли другой способ?
1 ответ
Решение
Цели CodeBuild поддерживают все параметры, разрешенные API StartBuild. Вам нужно использовать environmentVariablesOverride в вашей строке JSON.
{"environmentVariablesOverride": [
{
"name": "Envvar",
"value": "valueFromCWatch"
}
]}
Кроме того, избегайте использования "-" в названии среды.