我的问题基本上是两个问题,但由于它们密切相关,我认为让它们成为有意义的是有道理的.
案例:
我正在运行Web应用程序,该应用程序分布在AWS Elastic Load Balancer后面的多个AWS EC2实例上
预期目标:
a)在部署新的应用程序代码(php)时,它应自动分发到所有EC2实例.
b)当添加新的EC2实例时,它们应该使用最新的应用程序代码自动"引导"
到目前为止我的想法:
ad a)
phing(http://phing.info)可能是这一部分的答案.我可能会为每个EC2实例添加多个目标,并且在运行部署时,它将部署到所有计算机.可能不幸的是没有并行.但是,当以负载均衡器中的EC2实例"暂停",再次升级,"取消暂停"并再次运行到下一个实例的方式编写脚本时,这可能甚至是有益的.
ad b)
不确定我将如何实现这一目标.在传统的"基于硬件的设置"中,我可能在网络存储设备上有一个"应用程序代码"卷,并且当添加新服务器时,我只需附加该卷.在部署新的appcode时,我只对该卷进行了一次部署操作.所以我需要一些"中央存储",从新引导的机器/实例下载它的应用程序代码.我考虑过git,但毕竟git不是一个部署工具,可能不应该被强制用作一个.
我很高兴看到你为这些任务设置的设置,并听取你对这种情况的提示和想法.
谢谢,
约书亚