Управление средами рабочей среды и рабочей среды в шаблоне AWS SAM / Cloudformation вместе с поддержкой CI / CD - PullRequest
0 голосов
/ 27 марта 2020

У меня есть AWS файл шаблона SAM с некоторыми ресурсами, размещенными на github, установлена ​​кодовая линия для обнаружения изменений в репозитории, а затем создания / обновления и выполнения изменений в стеке облачной информации. Все работает нормально. Но теперь мне нужно настроить среду stage и prod в одном шаблоне. Мне трудно как это сделать правильно.

Также приветствуются различные подходы.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

PROD и STAGE находятся в одной учетной записи или в разных учетных записях? Я приму то же самое

Transform: AWS::Serverless-2016-10-31

Parameters:
  Environment:
    Type: String
    AllowedValues:
      - STAGE
      - PROD

Resources:
  MyLambda:
    Type: AWS::Serverless::Function
    Properties:
      Handler: lambda_function.lambda_handler
      FunctionName: !Sub ${Environment}_my_lambda
      CodeUri: my_lambda

Это дало бы уникальное имя вашей лямбде из среды

Затем при развертывании шаблона используйте --parameter-overrides=Environment=STAGE или --parameter-overrides=Environment=PROD

Вы можете настроить CloudWatch для прослушивания CodeCommit. Если ветка STAGE изменяется, вызовите CodeBuild, чтобы использовать ветку STAGE, и вызовите CloudFormation с параметром STAGE. То же самое для PROD

0 голосов
/ 28 марта 2020

Параметры будут лучшими

Вы также можете использовать сопоставления или условия. Но любой из них может запутаться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...