безсерверное развертывание: перестаньте наблюдать за обновлением CloudFormation - PullRequest
0 голосов
/ 04 февраля 2019

Я использую Bitbucket Pipelines для создания CD для безсерверного приложения.Я хочу использовать как можно меньше «минут сборки» для каждого развертывания.Жизненный цикл команды serverless deploy при использовании AWS в качестве поддержки выглядит следующим образом:

  1. Переместите пакет в CloudFormation.(~ 60 секунд)
  2. Сядьте и смотрите журналы из CloudFormation до завершения развертывания.(~ 20-30 минут)

Из-за огромной разницы во времени я не хочу делать второй шаг.Поэтому мой вопрос прост: как мне развернуть приложение без сервера таким образом, чтобы оно выполняло только первый шаг и возвращало успех или неудачу в зависимости от того, успешно ли CloudFormation принял новый пакет?

Я посмотрел документыдля serverless deploy, и я не вижу никаких вариантов, чтобы включить это.Кроме того, похоже, что в команде serverless deploy уже есть специфические параметры AWS, поэтому, возможно, этот вариант рассмотрит безсерверная команда, если другого способа сделать это не будет.

NB Что касается "как вы узнаете, что CloudFormation не работает? », для этого я бы предпочел настроить уведомления, приходящие непосредственно из CloudFormation.Сборка может просто отвечать за переход к CloudFormation.

1 Ответ

0 голосов
/ 04 февраля 2019

Я не думаю, что вы можете сделать это с serverless deploy.Вы можете попробовать команду serverless package, которая сохранит пакет в папке .serverless, или вы можете указать путь с помощью --package.Пакет создаст файл шаблона CloudFormation, например cloudformation-template-update-stack.json.Затем вы можете вызвать Create Stack действие API для создания стека.Он вернет идентификатор стека, не дожидаясь создания всех ресурсов.

...