php - 您首选的 php 部署策略是什么?

标签 php deployment capistrano

我正在开始一个新的 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/

相关文章:

php - 匹配 MySQL JSON 列的全部内容

javascript - 在 PHP 中使用 javascript 更改页面标题 'if'

c# - 自动化 C# web 应用程序部署过程,使用安全的远程桌面访问和最近的 svn 更改

python - 部署使用不常见模块的 python 脚本

amazon-web-services - 在 AWS 中的何处存储应用程序商店的配置

ruby-on-rails - 为什么 Capistrano 将通过命令传递给 `run` 的标志解释为输入?

php - 用于自定义 html 输出的 Wordpress 编辑器简码

php - CKEditor 中的 Jquery 拖放

ruby-on-rails - 与Capistrano一起部署时psych.rb错误 'mapping not allowed in this context'

ruby - 从 ruby​​ 获取到 capistrano 共享路径的路径