部署Zend Web应用程序的最佳方式

Jor*_*rre 5 phing deployment rsync capistrano zend-framework

我已经阅读了很多关于在这里部署应用程序的内容,但还没有找到适合我们需求的答案.

我们有一个使用zend框架构建的大型Web应用程序,我们希望将其部署到远程服务器.我们希望能够轻松安全地将新版本的应用程序部署到我们的生产服务器.

需要做的是以下内容:

  • 在生产应用程序上建立维护页面?
  • 从SVN导出版本
  • 运行shell脚本来缩小某个目录中的CSS文件(shell脚本完成)
  • 设置文件和目录的文件权限
  • 复制/同步?文件到生产服务器 - >只更改文件?
  • 从生产应用程序中删除维护页面?

我们使用SVN作为代码版本控制工具,我们将CentOS作为生产中的服务器操作系统运行.

我读过:

  • rsync的
  • 弗雷德斯特拉诺/卡皮斯特拉诺
  • phing
  • 自定义shell脚本

您对轻松一键部署的建议是什么?

Ali*_*man 3

我以不同的名称(通常是 subversion 修订版号和日期)导出(或签出)网站的副本,并将文档根符号链接到位

1000.20100515/
   application/
   public/
   library/
1020.20100621/
current (symlink to 1000.20100515/)
dev (symlink to 1020.20100621/)

# copy whatever 'dev' points to as the new 'current' symlink.
rm current && cp -d dev current
Run Code Online (Sandbox Code Playgroud)

文档根目录在 apache 中设置为 ../current/public

有了这个,我可以在闲暇时查看该网站的新版本,并在几分之一秒内将新版本全部上线。如果发现重大问题,则回滚到网站的先前版本就像更改符号链接一样简单。

添加 基于 ruby​​ 的工具“ Capistrano ”可以是在多台机器(无论是一台还是十几台)上完全自动化此操作的绝佳方法,事实上,它是我现在首选的部署方法。 Capifony是 Capistrano 的插件,也支持基于Composer的项目。

  • 您如何处理数据库架构更改?这就是乐趣的开始:p。 (3认同)