ec2共享www文件夹

这个问题以前没有问过,尽pipe我已经search过,没有发现任何细节。

首先,我的问题:我有2个EC2 Linux实例运行在一个弹性Load Balencer后面。 它运作良好! 非常满意。

当涉及到在服务器上放置/更新应用程序代码时,我的问题就开始了。 此刻,我litrally,修改我的本地机器上的代码。 将其压缩,上传到我的个人主机,然后Wget到每个EC2实例,并解压缩..

有没有更简单的方法来做到这一点? 我能够创build一种跨越两个实例的共享文件夹?

简而言之:在2台服务器上更新我的WWW根目录的简单方法是什么?

非常感谢,

汤姆。

1.解决这个问题的一个方法是使用持续集成 ,它可以通过rsync传输文件并在服务器上构建项目,这不仅仅是现在。

有很多可用的插件(PHPUnit,Code Coverage,Code Analysis等):

詹金斯

怎么样:

  1. 安装Jenkins
  2. 与詹金斯配置你的项目(可能你的代码应该在一些代码版本系统)
    1. 配置服务器,项目路径,前期工作,后期工作等
  3. 安排工作/工作。
  4. 就是这样,完成了。

参考:

  1. 组态:
    1. 配置 – 例1
    2. 初始配置
      1. 配置作业
  2. http://agile.dzone.com/news/continuous-integration-php

2.你需要一个代码版本控制,它可以帮助你保持一个稳定的代码,并在所有环境中平等地交付。

有两个主要的版本系统可用,一个是Git & Subversion

可以做些什么(针对你的情况):

  1. 创建一个存储库
  2. 在存储库中创建一个项目
  3. 通过svn add <files>svn commit . svn add <files>所有的代码转储到这个项目中svn commit .
  4. 登录到您的EC2机器。
  5. 运行svn checkout <repository-url-to-project> ,它将获取机器上的代码。

如果你有更新/更改任何文件,然后:

  1. 您可能会提交(添加)一些更改到您的存储库。
  2. 在你从代码库检出你的代码的机器上运行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 

这是一个更可行的解决方案。 如果你不熟悉JenkinsPuppet你可以这样做:

bitbucket.com并启动一个存储库

在那里创建一个仓库

使用sourcetree将本地源代码推送到该存储库

从你的机器,做一个git pull (按照bitbucket说明)

之后,修改你的本地代码,做多个提交来测试它

然后去你的服务器,并发出git拉

 ........................................ bitbucket.repo/your main source ...........local...server1.server2 share the same source as bitbucket repo 

从本地推到bitbucket回购

一旦你从这个设置毕业,尝试puppetjenkins* – 木偶更多的是站起来的服务器。