Как продвигать релиз с помощью AWS CodeDeploy? - PullRequest
0 голосов
/ 30 октября 2019

Я работаю над переносом нашего конвейера развертывания с TeamCity + Octopus Deploy на AWS Pipeline (используя AWS CodeBuild + AWS CodeDeploy). Я был в состоянии настроить весь конвейер для 1 среды. Я борюсь за продвижение этого развертывания в другой среде.

Например, первоначальное развертывание выполняется в тестовой среде. Агент CodeDeploy на экземпляре теста обрабатывает преобразования конфигурации (т. Е. Заменяет строку подключения и т. Д. На значения теста). Теперь я хочу развернуть те же артефакты (без перестройки) в производственной среде, чтобы агент делал то же самое, а приложение запускалось для производственной среды.

В Octopus Deploy эта функция встроена. Вы просто нажимаете кнопку Promote и выбираете целевую среду. Есть ли способ добиться того же с помощью сервиса AWS CodePipeline?

1 Ответ

1 голос
/ 31 октября 2019

В CodeDeploy «Приложение» отображается на «Группу развертывания», в которой будет развернут код. Группа развертывания может быть набором экземпляров EC2 или ECS / Lambda. В этой группе развертывания нет понятия «среда» (dev / test / prod).

В мире AWS вам нужна CodePipeline с несколькими этапами для развертывания с использованием CodeDeploy в качестве поставщика развертывания. Эти несколько приложений CodeDeploy (на разных этапах CodePipeline) будут отображаться в разные среды (dev / test / etc), а группы развертывания в этом приложении CD будут отображаться в различный набор экземпляров. Артефакт (в CodePipeline) для развертывания, передаваемый на эти этапы развертывания, должен быть одинаковым, и вы можете использовать действия по утверждению вручную, чтобы «привязать» развертывание, например, к производственной среде.

...