мой вопрос в основном два вопроса, но, поскольку они тесно связаны, я подумал, что имеет смысл задавать их в полном блоке.
Дело:
Я запускаю веб-приложение, которое распространяется черезнесколько экземпляров AWS EC2 за AWS Elastic Load Balancer
Предполагаемые цели:
a) При развертывании нового кода приложения (php) он должен автоматически распространяться на все экземпляры EC2.
b) При новом EC2экземпляры добавлены, они должны автоматически «загрузиться» с последним кодом приложения
Мои мысли пока:
ad a)
phing (http://phing.info), вероятно, ответ на эту часть. Я бы, вероятно,добавьте несколько целей для каждого экземпляра EC2, и при запуске развертывания он будет развернут на всех машинах, возможно, к сожалению, не параллельно, но это может быть даже полезно при его сценарии таким образом, что экземпляр EC2 «приостанавливается» в балансировщике нагрузки,модернизированный, «без паузы» снова и к следующему экземпляру.
ad b)
не уверен, как бы я достигИве это.в обычной «аппаратной настройке» у меня, вероятно, был том «кода приложения» на сетевом устройстве хранения данных, и при добавлении нового сервера я просто подключал этот том.при развертывании нового кода приложения у меня была только одна операция развертывания на этом томе.поэтому мне нужно какое-то «центральное хранилище», откуда недавно загруженная машина / экземпляр загружает свой код приложения.я думал о git, но в конце концов git не является инструментом развертывания и, вероятно, его не следует использовать как один.
Я был бы рад видеть ваши установки для таких задач и выслушать ваши намеки и идеи для такой ситуации.
Спасибо,
Джошуа