В этом посте мы увидим, как мы можем использовать 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, наше приложение по-прежнему будет доступно.
Если этот пост был полезен, пожалуйста, нажмите несколько раз кнопку хлопка 👏 ниже, чтобы выразить свою поддержку! ⬇