Развертывание AWS с использованием предпочтений развертывания - PullRequest
0 голосов
/ 27 мая 2019

Я развертываю лямбда-функцию и использую настройки развертывания.Но мне нужно сине-зеленое развертывание для производства и все сразу для стадии разработки.Однако, согласно моему приложенному коду, все идет как Blue Green Deployment даже для разработки.

Я использую следующий код

AWSTemplateFormatVersion: '2010-09-09' Преобразование: AWS:: Serverless-2016-10-31 Описание:> sam-app

Пример шаблона SAM для sam-app

Подробнее о глобалах: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst

Глобалы: Функции: Время ожидания: 3

Параметры:

Ветвь: Описание: Имя ветви репозитория Тип: Строка По умолчанию: master

Условия: IsProdStage:! Равно [! Ref Branch, 'master']

Ресурсы: HelloWorldFunction: Тип: AWS :: Serverless :: Function # Подробнее о функции Ресурс: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Свойства: CodeUri: hello_world / Handler: app.lambda_handler Время выполнения: python3.6События: HelloWorld: Тип: Api # Дополнительная информация о API Источник события: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api Свойства: Путь: / hello Метод: get

  AutoPublishAlias: live 
  DeploymentPreference: 
    Type:  
      Fn::If: [IsProdStage, Canary10Percent5Minutes, AllAtOnce] 

Выходы: HelloWorldApi: Описание: "URL-адрес конечной точки шлюза APIдля Prod этап для HelloМировая функция "Значение:! Sub" https://${ServerlessRestApi}.execute -api. $ {AWS :: Region} .amazonaws.com / Prod / hello / "HelloWorldFunction: Описание:" Привет, мир, лямбда-функция ARN "Значение:! GetAtt HelloWorldFunction.Arn HelloWorldFunctionIamRole: Описание: «Неявная роль IAM, созданная для функции Hello World» Значение:! GetAtt HelloWorldFunctionRole.Arn

Ожидаемый результат - у производства должно быть сине-зеленое развертывание Разработка должна иметь все сразу

...