Я хочу иметь возможность зафиксировать свое репо через 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.
Вы проверили интеграцию EB с Git,
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cli-git.html
И этот вопрос может быть больше подходит для Stackoverflow с тем же тегом.