代码之家  ›  专栏  ›  技术社区  ›  Macros

部署到多个实例

  •  3
  • Macros  · 技术社区  · 15 年前

    我已经研究了一些系统(phing,controltier),也阅读了本网站上的所有相关问题,但是我不确定是否找到了适合我需求的最佳解决方案。

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

    系统的未来版本可能支持从一个代码库运行多个站点,但这目前是不可能的,部分原因是我继承了很多代码,而且我的SEO团队向我保证拥有多个服务器和IP是一件好事。

    对于这种部署的最佳设置,我们非常感谢您的任何建议。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Christoph Strasen    14 年前

    phing可以用几行(配置)代码为您做很多事情。我认为您已经准备好了一个处理代码库不同实例的“特性”的实现了吗?

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

    抽穗期

    它将在SVN提交发生时从SVN获取,使用SVN钩子(仅当新标记创建为“/myrepos/tags/2/2.1.7”),以便它可以成为简单连续集成的一部分。因此,SVN升级可能发生在一个登台服务器上,在该服务器上对准备好发布的代码(phpunit、frontend、manual….)运行最终测试。

    PHEP部署

    当您对结果满意时发出。 在所有服务器上备份数据,然后复制在上面步骤中签出和测试的代码。scp任务在phing中可用,但您需要php ssh2扩展(pecl模块)

    脉冲回滚

    如果一切正常,您可以停止,但是如果必须收回部署的更改(全部),您可以实现“phing回滚”,从备份中复制。

    应该是直截了当的。

    您可以在服务器上迭代,并根据需要填充或映射不同的变量。 “服务器1”->“主题蓝” “服务器2”->“主题” 并且只复制需要启用正确样式的主题目录或配置文件。

    了解Ant的人也可以使用phing,但是phing的优势是它非常容易部署。它的可扩展性也是一个真正的优点。你知道PHP吗?您可以编写一个新的操作或过滤器,以便在将来的部署场景中重用。

    如果我是你的话,我会放手的。

    哦,可以在FreeNode上加入Phing。它很空,但我们可以改变它;)

        2
  •  0
  •   James    15 年前

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

    推荐文章