我已经阅读了很多关于在这里部署应用程序的内容,但还没有找到适合我们需求的答案。
我们有一个使用zend框架构建的大型Web应用程序,我们希望将其部署到远程服务器。我们希望能够轻松安全地将新版本的应用程序部署到我们的生产服务器。
需要做的是:
我们使用SVN作为代码版本控制工具,我们正在运行CentOS作为生产中的服务器操作系统。
我读过:
您对轻松一键部署的建议是什么?
答案 0 :(得分:3)
我以不同的名称(通常是颠覆修订版号和日期)导出(或签出)该网站的副本,并将文档根目录符号链接到位
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
文档根目录在apache中设置为../ current / public
有了这个,我可以在闲暇时查看该网站的新版本,并将新版本的实时内容放在几分之一秒内。回滚到以前版本的网站就像更改符号链接一样简单 - 如果发现一个主要问题。
已添加基于ruby的工具“Capistrano”可以成为在多台计算机(无论是一台还是十几台)上实现全自动化的绝佳方法,实际上它是我现在首选的部署方法。 Capifony是Capistrano的插件,也支持基于Composer的项目。
答案 1 :(得分:0)
尝试Capistrano。它是为Ruby开发的,你需要在你的计算机上安装Ruby,但没有必要在目标服务器上安装它。
它适用于git或svn,它在目标服务器上创建版本。您可以使用一行CMD回滚和部署新版本。
我找到了这个教程:http://tfountain.co.uk/blog/2009/5/11/zend-framework-capistrano-deployment
你有一个修改版的capistrano,另有一个教程:http://www.codewithstyle.eu/2011/05/03/deploying-zend-framework-applications-using-capistrano/