AWS Dev-to-Production构build过程

我是一名开发人员,所以经验不如我想用服务器pipe理。 本质上,我试图找出如何创build一个可用于开发,testing,分期和生产的基础图像(AMI)。

发展

到目前为止,我的想法是使用Packer来创build一个AMI,而且还把它作为一个Vagrant框输出 。 那么为了发展,我们应该能够很容易地进入生产使用的相同types的环境。 我一直在testing这个,到目前为止,我们无法成功构build一个EC2实例,这是由于奇怪的SSH问题……但这是另一个问题的主题。

testing

我们正在尝试使用Atlassian Bamboo创build一个构build服务器。 它可以加载AMI并在AWS上启动一个EC2实例来运行构build/testing过程。 我想我们会加载在开发阶段产生的AMI,不知道这是可能的。 有没有其他人做到这一点?

分期

当构build/testing在Bamboo中传递时,我们会将代码推送到发布分支,并在分阶段testing它,正如您可能已经预测的那样,也将使用相同的AMI。

生产

最后,当代码被testing时,它会被碰到主分支,并部署在也运行相同AMI的主服务器上。

从理论上讲,这听起来很简单直接。 在实践中,这是一个configuration噩梦。 这是一个合理的过程,我应该推敲一下,或者有更好的方法呢? 我应该手动编写一个使用AWS控制台工具来执行所有这些操作的bash脚本吗?