2010-08-02 83 views
3

我一直在寻找几个系统(Phing,ControlTier),并且也阅读了本网站上的所有相关问题,但是我不确定我是否找到了满足我需求的最佳解决方案。部署到多个实例

我有一个PHP网站,它本质上是一个价格比较购物网站的代码库。然后将其部署到许多不同的服务器上,根据销售的产品,每个服务器都有自己的主题和数据库。当对代码库进行更改或错误修正时,需要使用典型的工作流(备份,部署,测试,回滚/提交)推送到每个服务器。理想情况下,我想使用现有的东西来实现这个比我自己滚动更好的方式,但是可以看看这个选项。

该系统的未来版本可能支持从单个代码库运行多个站点,但目前无法实现,部分原因是由于我继承了大量代码,而且由于我的SEO团队向我保证有多个服务器和知识产权是一件好事。

有关此类部署的最佳设置的任何建议非常感谢。

回答

3

Phing可以在几行(配置)代码中为您做很多事情。我认为你已经实施了一个处理代码库不同实例的“可爱性”的实现?

您可以使用phing实现3个简单的命令,每个命令都可以自动执行与部署有关的手动工作。

phing阶段

当一个svn提交问题,请使用SVN挂钩(可以说只有当一个新的标签被称为“/myrepos/tags/2/2.1.7”创建)它会从SVN取这样它可以成为简单持续集成的一部分。因此,svn up可能发生在一个登台服务器上,您可以在您的随时可以运行的代码上运行最终测试(phpunit,frontend,manual ..)。

phing部署

问题,当你的内容的结果。 在所有服务器上备份您的数据,然后复制上一步检出并测试的代码。 SCP-任务在phing可用,但您需要的PHP的SSH2扩展(PECL模块)

phing回滚

如果一切是正确的,你可以停下来,但如果你要回你的部署变化(所有),您可以实施从备份中复制的“phing rollback”。

应该很简单。

你可以在你的服务器上进行迭代,并有不同的变量填充或映射,如果你喜欢 “服务器1” - >“themeblue” “服务器2” - >“themered” 并复制只主题目录或配置文件您需要启用正确的样式。

人家那知道蚂蚁可以phing太多,但phing工作的优点,这是很容易部署。它的可扩展性也是一个真正的优点。你知道PHP吗?您可以编写新的操作或过滤器,以便在未来的部署中重用。

如果我是你的话,我会给你一拨。

哦,随时加入#phing freenode。它很空,但我们可以改变这一点;)

0

http://vimeo.com/13441373是一个关于Phing的讨论,它可能是一个有用的工具...自动运行PHP中定义的任务。自己没有用过,但发表这个演讲的人知道他的东西。

相关问题