Я хочу иметь возможность делать коммит в своем репозитории через GitHub WebUI и иметь веб-хук, который автоматически запускает eb deploy
процесс нового HEAD
коммита.
Я понимаю, что для этого есть инструменты (CodePipeline/CodeDeploy), но не ясно, работают ли эти инструменты с Elastic Beanstalk. Использование такого всеобъемлющего решения для такой простой проблемы также кажется излишней инженерией (читай: ненужными накладными расходами). Конечно, есть более простой способ.
Фон:
Приложение, над которым я работаю, переросло среду общего хоста, поэтому я переместил его в AWS с помощью Elastic Beanstalk. Раньше я автоматически развертывал обновления на общем хосте с помощью простого PHP-скрипта. Когда я делал git push
, веб-хук обращался к этому скрипту через HTTP, и скрипт запускал git pull origin mybranch
, который извлекал все обновленные файлы.
Сейчас я могу войти в IDE Cloud9, чтобы git pull && eb deploy
вносить изменения в код, но это не идеальное решение, если я хочу разрешить другим разработчикам развертывать изменения.
Я попытался повторно реализовать это старое решение на Elastic Beanstalk, но эфемерная природа экземпляров EC2 означает, что я не могу сохранить там пару ключей SSH или known_hosts.
решение1
Вы уже проверили интеграцию EB с Git,
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cli-git.html
А этот вопрос, возможно, больше подойдет для Stackoverflow, с тем же тегом.