У меня в CodeBuild есть файл buildspec.yml, который я хочу считать из хранилища параметров EC2 Systems Manager.CodeBuild поддерживает это с помощью атрибута parameter-store
в вашем файле спецификации.
Проблема в том, что я не могу понять, как использовать переменные окружения, которые установлены ДО выполнения buidlspec.
ЗдесьВот пример:
version: 0.2
env:
variables:
RUNTIME: "nodejs8.10"
#parameter-store vars are in the format /[stage]/[repo]/[branch]/[eyecatcher]/key
parameter-store: #see https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax
LAMBDA_EXECUTION_ROLE_ARN: "/${STAGE}/deep-link/${BRANCH}/GetUri/lambdaExecutionRoleArn"
ENV_SAMPLE_KEY: "/${STAGE}/deep-link/${BRANCH}/GetUri/key1"
phases:
install:
commands:
...
Как вы можете видеть, я использую лучшие практики AWS для распределения имен ключей хранилища параметров EC2 Systems Manager.Я хочу повторно использовать эту спецификацию сборки для всех моих этапов, поэтому жесткое кодирование не вариант.Вары, которые я использую в строке Value
, заполняются как EnvironmentVariables
в моем проекте CodeBuild - поэтому они доступны до запуска спецификации.
Как динамически заполнить Value
хранилища параметровKeys
с чем-то, что не жестко закодировано?