5

我在这里阅读了很多关于部署应用程序的信息,但还没有找到满足我们需求的合适答案。

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

需要做的事情如下:

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

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

我读过:

  • rsync
  • fredistrano / capistrano
  • 自定义外壳脚本

对于简单的一键部署,您有什么建议?

4

2 回答 2

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的项目。

于 2010-06-29T20:59:05.527 回答
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/

于 2011-05-27T13:27:51.600 回答