2009-10-30 37 views
9

将Catalyst应用程序部署到生产服务器的好方法是什么?目前,我只是在存储库的根目录下有一个FastCGI调度脚本,当我想更新服务器代码时,我将分支推送到服务器。这很简单,但并不完美。如果代码在服务器计算机上的测试失败(例如由于依赖性不足),我剩下的应用程序已损坏。你如何部署你的Catalyst应用程序?你有更好的方法吗?将Catalyst应用程序部署到生产服务器的最佳实践是什么?

回答

10

代理负载平衡器和两个触发器fastcgi应用程序的组合可以作为生产和临时应用程序运行,这将是您最好的选择。你使用什么网络服务器?如果它正好是Lighttpd的,然后看看这些链接:

+0

不幸的是,我在共享主机上使用Apache,这意味着我缺少选项,但无论如何感谢您的提示。 – zoul 2009-11-05 10:58:23

2

为了应对不满意的依赖问题,我用的是运行脚本svn export为整个应用程序树到一个单独的目录,适当地设置环境,然后执行:

perl -MMyApp -e '{print "OK"}' 
if [ $? -ne 0 ] 
then 
    echo "MyApp failed compile, not installing." 
    exit 1 
fi 

这足以确保安装在dev中的任何模块在回收Apache和/或FastCGI之前都可用。一旦成功,导出的代码将移至其最终位置。

相关问题