Php 如何有效地修补运行在多台主机上的代码?
一个产品是一个不断开发的CMS,新功能补丁总是在推出。该产品托管在多台服务器上,对于其中一些服务器,我只有FTP凭据和对db的访问权限,而对于其他服务器,我有完全的根访问权限。现在,一旦测试后发布了新功能,我就必须手动ftp文件并在所有服务器上运行SQL查询。这非常耗时、容易出错且效率低下。我怎样才能使它更健壮、更简单,或者使它的某些部分实现自动化?CMS基于PHP、MySQL、JS、HTML和CSS。管理部分对所有人来说都是通用的。皮肤和一些自定义模块是为不同的客户端开发的,我们唯一更新的部分是管理 更新Php 如何有效地修补运行在多台主机上的代码?,php,codeigniter,deployment,release-management,Php,Codeigniter,Deployment,Release Management,一个产品是一个不断开发的CMS,新功能补丁总是在推出。该产品托管在多台服务器上,对于其中一些服务器,我只有FTP凭据和对db的访问权限,而对于其他服务器,我有完全的根访问权限。现在,一旦测试后发布了新功能,我就必须手动ftp文件并在所有服务器上运行SQL查询。这非常耗时、容易出错且效率低下。我怎样才能使它更健壮、更简单,或者使它的某些部分实现自动化?CMS基于PHP、MySQL、JS、HTML和CSS。管理部分对所有人来说都是通用的。皮肤和一些自定义模块是为不同的客户端开发的,我们唯一更新的部分
为了管理我们使用GIT的代码,SQL不是这个GIT结构的一部分,我将与产品经理/所有者讨论如何对其进行版本控制。这是未打包代码的一个大问题
就我个人而言,我有一个PHAR,它在执行时将代码提取到特定文件夹并执行所需的查询。我已经在数十台服务器上运行了web部署,每月处理数亿访问者 SQL变更管理永远是一个怪兽。你唯一的希望是要么在家里滚自己的球(就像我做的那样),要么使用类似的东西 要处理文件同步,您需要许多工具,这些工具都经过精心设计,可以协同工作,包括:
这就是为什么我会就设置整个过程进行咨询,而在客户端网络上设置通常需要约5个小时。您是否使用任何类型的版本控制系统?(CVS、SVN、git)?我最近一直在处理一个类似的主题,并偶然发现了这篇文章:。它为deploymen和file trasnfer之间的差异提供了一些有趣的想法。还要确保查看Git Hooks(),这在您的案例中可能是一种非常有趣的方法。对于我工作的一个产品,我们曾经推出RPM软件包。每周五发行一次小型电影。只需安装软件包,它就会更新所有内容。但在当前情况下,有些主机是rackspace cloudsites,有些不属于我们,有些是简单的共享主机解决方案。现在是2012年。我看不出有SFTP作为需求的问题是什么。我敢打赌,您当前通过FTP登录的每台主机都希望您使用SFTP isntead。从商业角度来看,这一切看起来都非常昂贵。我们并不是每台服务器都有SFTP,如果我们有SFTP,我会编写一个脚本,将代码推送到所有服务器,运行部署后步骤等@Kumar实际上,除了SQL变更管理应用程序(您可以在内部制作)之外,该列表中的每一件事都是开源和免费的。这些工具不需要花钱,需要的是知识、失误和把每件事都做得恰到好处。该产品来自一家非常小的企业,是非常本地化的产品。我实际上在看WordPress更新是如何工作的。不管目前的产品如何,我都会探索你提到的任何东西,只是为了科学:-)