我正在开始一个新的 PHP 项目,我很想从其他开发人员那里获得一些关于他们首选的 PHP 部署策略的反馈。我想稍微自动化一下,以便一旦提交更改,它们就可以快速迁移到开发或生产服务器。
我有使用 Capistrano 和 Ruby 以及一些基本的 shell 脚本进行部署的经验。
在我自己开始之前,很高兴听到其他人在他们的项目中是如何处理这个问题的。
更多信息
目前,开发人员在站点的本地安装上工作,并将更改提交到 subversion 存储库。通过从 svn 导出标记版本并将其上传到服务器来进行初始部署。
其他更改通常通过手动上传更改的文件来进行。
最佳答案
对于 PHP、SVN 和 Phing构建脚本是要走的路。 Phing 类似于 ANT但它是用 PHP 编写的,这使得 PHP 开发人员更容易根据自己的需要进行修改。
我们的部署流程如下:
- 每个人在工作时都在同一个本地服务器上开发,每个开发人员在自己的机器上也有一个结帐。
- 提交会触发提交后 Hook ,该 Hook 会更新临时服务器。
- 测试在暂存服务器上运行,如果它们通过 - 继续。
- 运行 Phing 构建脚本:
- 关闭生产服务器,将域切换到“正在 build 中”页面
- 在生产结账时运行 SVN 更新
- 运行架构增量脚本
- 运行测试
- 如果测试失败 - 运行回滚脚本
- 如果测试通过,服务器将路由回生产结帐
还有phpUnderControl ,这是一个持续集成服务器。老实说,我没有发现它对网络项目很有用。
关于php - 您首选的 php 部署策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/425692/