Как использовать динамический ключ для «хранилища параметров» в файле спецификации AWS CodeBuild? - PullRequest
0 голосов
/ 21 мая 2018

У меня в 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 с чем-то, что не жестко закодировано?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

Это не говорит об этом явно, но я предполагаю, что вы можете использовать! Sub в любом шаблоне облачной информации, который вы используете для построения этой разрешающей строки, и использовать ее в ParameterOverride для передачи вваша buildspec в обычном блоке параметров вместо блока хранилища параметров

0 голосов
/ 21 мая 2018

Я нашел это сообщение StackOverflow - к сожалению, описываемая вами функция, похоже, не существует.
Было бы неплохо иметь возможность использовать параметры и функции, схожие с функциями в шаблонах CloudFormation.

...