这个问题以前没有问过,尽pipe我已经search过,没有发现任何细节。
首先,我的问题:我有2个EC2 Linux实例运行在一个弹性Load Balencer后面。 它运作良好! 非常满意。
当涉及到在服务器上放置/更新应用程序代码时,我的问题就开始了。 此刻,我litrally,修改我的本地机器上的代码。 将其压缩,上传到我的个人主机,然后Wget到每个EC2实例,并解压缩..
有没有更简单的方法来做到这一点? 我能够创build一种跨越两个实例的共享文件夹?
ec2:无法在Windows实例上打开端口5080
更改JENKINS_HOME时出现“无法创build主目录”错误
Jupyter笔记本在运行/etc/rc.local时找不到内核
Amazon EC2实例“Permission denied(publickey)”
内核恐慌 – 创build自己的AMI(亚马逊机器映像)
简而言之:在2台服务器上更新我的WWW根目录的简单方法是什么?
非常感谢,
汤姆。
AWS EC2上重定位实例的502错误网关
亚马逊EC2 – 磁盘满
在服务器端完全运行PHP脚本
ImportError:没有名为django.core.wsgi的模块Apache + VirtualEnv + AWS + Wsgi
1.解决这个问题的一个方法是使用持续集成 ,它可以通过rsync传输文件并在服务器上构建项目,这不仅仅是现在。
有很多可用的插件(PHPUnit,Code Coverage,Code Analysis等):
詹金斯
怎么样:
安装Jenkins
配置服务器,项目路径,前期工作,后期工作等
安排工作/工作。
就是这样,完成了。
参考:
组态:
配置 – 例1
初始配置
配置作业
http://agile.dzone.com/news/continuous-integration-PHP
2.你需要一个代码版本控制,它可以帮助你保持一个稳定的代码,并在所有环境中平等地交付。
有两个主要的版本系统可用,一个是Git & Subversion
可以做些什么(针对你的情况):
创建一个存储库
在存储库中创建一个项目
通过svn add <files> & svn commit . svn add <files>所有的代码转储到这个项目中svn commit .
登录到您的EC2机器。
运行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* – 木偶更多的是站起来的服务器。