В этом посте мы увидим, как мы можем использовать Code Deploy и GitHub Actions для развертывания нашего кода в экземплярах EC2.

Ссылка. Мы обратимся к следующей статье и воспользуемся Terraform для создания инфраструктуры. Так что я не буду подробно объяснять, что мы собираемся делать. Вы можете просмотреть статью один раз, чтобы понять рабочий процесс.



Шаг 1. Вилка

Разветвите следующее: https://github.com/vinycoolguy2015/FlaskAppCodeDeploy.git (который я раздвоил с https://github.com/azzan-amin-97/FlaskAppCodeDeploy.git и внес некоторые изменения в файл appspec ).

Шаг 2. Получите код Terraform

Получите код Terraform из https://github.com/vinycoolguy2015/awslambda/tree/master/github_actions_ec2 и измените URL-адрес репозитория git в файле script.tpl (строка 14). Также создайте SSH-ключ с помощью команды ssh-keygen.

Теперь примените код.

Это создаст наше задание развертывания кода вместе с группой автоматического масштабирования с двумя экземплярами EC2, работающими за ALB. После создания настройки попробуйте получить доступ к URL-адресу ALB и убедитесь, что наше приложение запущено.

Шаг 3. Включите рабочий процесс

В репо перейдите к действиям и включите рабочий процесс. Также создайте эти 2 секрета (Настройки-Секреты), которые необходимы для запуска задания развертывания кода.

Шаг 4. Зарегистрируйтесь в основной ветке

Теперь внесите некоторые изменения в файл templates / index.html и зафиксируйте его в основной ветке. Это запустит наш рабочий процесс GitHub, который в конечном итоге запустит нашу работу по развертыванию кода.

После завершения развертывания кода войдите в приложение и проверьте, обновилось оно или нет.

Примечание. Мы используем тип развертывания IN_PLACE, поэтому, когда код развертывается на одном экземпляре, он не обслуживает трафик. Однако, поскольку у нас есть как минимум 2 экземпляра в нашей ASG, наше приложение по-прежнему будет доступно.

Если этот пост был полезен, пожалуйста, нажмите несколько раз кнопку хлопка 👏 ниже, чтобы выразить свою поддержку! ⬇