这个问题以前没有问过,尽pipe我已经search过,没有发现任何细节。
首先,我的问题:我有2个EC2 Linux实例运行在一个弹性Load Balencer后面。 它运作良好! 非常满意。
当涉及到在服务器上放置/更新应用程序代码时,我的问题就开始了。 此刻,我litrally,修改我的本地机器上的代码。 将其压缩,上传到我的个人主机,然后Wget到每个EC2实例,并解压缩..
有没有更简单的方法来做到这一点? 我能够创build一种跨越两个实例的共享文件夹?
简而言之:在2台服务器上更新我的WWW根目录的简单方法是什么?
非常感谢,
汤姆。
1.解决这个问题的一个方法是使用持续集成 ,它可以通过rsync
传输文件并在服务器上构建项目,这不仅仅是现在。
有很多可用的插件(PHPUnit,Code Coverage,Code Analysis等):
詹金斯
怎么样:
参考:
2.你需要一个代码版本控制,它可以帮助你保持一个稳定的代码,并在所有环境中平等地交付。
有两个主要的版本系统可用,一个是Git & Subversion
可以做些什么(针对你的情况):
svn add <files>
& svn commit .
svn add <files>
所有的代码转储到这个项目中svn commit .
svn checkout <repository-url-to-project>
,它将获取机器上的代码。 如果你有更新/更改任何文件,然后:
svn update <modified-or-newly-created-file-path>
。 在任何其他EC2机器上执行这些步骤。
的cheatsheet
GIT – http://help.github.com/git-cheat-sheets/ SVN – http://www.abbeyworkshop.com/howto/misc/svn01/
使用诸如Puppet之类的工具来维护您的服务器配置。
@tornup
这是一个更可行的解决方案。 如果你不熟悉Jenkins
或Puppet
你可以这样做:
去bitbucket.com
并启动一个存储库
在那里创建一个仓库
使用sourcetree将本地源代码推送到该存储库
从你的机器,做一个git pull
(按照bitbucket说明)
之后,修改你的本地代码,做多个提交来测试它
然后去你的服务器,并发出git拉
........................................ bitbucket.repo/your main source ...........local...server1.server2 share the same source as bitbucket repo
从本地推到bitbucket回购
一旦你从这个设置毕业,尝试puppet
或jenkins*
– 木偶更多的是站起来的服务器。