我们正在组建一个我们计划部署到Elastic Beanstalk的PHP站点,并且我想创建一个虚拟化的开发环境来匹配生产.不过,我有几个问题.
因此看起来我可以使用vagrant-aws并将其提供给自定义AMI - 可能是由Beanstalk创建的AMI.这会真的有效吗?好像它使用rsync来复制任何新文件.当我等待它同步时,这是否会减慢开发速度?
更重要的是,如果您想进行任何开发,似乎这依赖于网络连接.是否可以将其脱机以便我可以在没有连接的情况下进行开发(例如在飞机上,在公共汽车上等)?
作为替代方案,有没有人组装一个与Elastic Beanstalk的包和设置相匹配的Vagrant文件?我在搜索中找不到任何东西,但也许我在找错了地方?
最后,是否有任何关于推出这种开发测试的建议?我是以正确的方式思考这个问题,还是有更好的方法来做到这一点?
我要说最干净的方法是使用像Packer这样的工具为EC2和Vagrant创建一个图像.这样你可以控制你正在使用的图像,你知道 EC2和Vagrant都是一样的.
Elastic Beanstalk 可以交给自定义AMI,如果您的开发人员下载了流浪盒,他们可以在断开连接时工作.
这不是最简单的选择,因为您必须自己配置图像上的所有包,但这是保持开发盒和生产盒同步的好方法.