Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 将Catalyst应用程序部署到生产服务器的最佳做法是什么?_Perl_Catalyst - Fatal编程技术网

Perl 将Catalyst应用程序部署到生产服务器的最佳做法是什么?

Perl 将Catalyst应用程序部署到生产服务器的最佳做法是什么?,perl,catalyst,Perl,Catalyst,将Catalyst应用程序部署到生产服务器的好方法是什么?目前,我只是在存储库的根目录中有一个FastCGI调度脚本,当我想要更新服务器代码时,我将分支推送到服务器。这很简单,但并不完美。如果代码未能通过服务器机器上的测试(例如,由于未满足的依赖关系),我将留下一个已损坏的应用程序。如何部署您的Catalyst应用程序?您有更好的方法吗?将代理负载平衡器和两个触发器fastcgi应用程序结合起来,作为生产应用程序和暂存应用程序交替运行将是您的最佳选择。您使用的是什么web服务器?如果恰好是Lig

将Catalyst应用程序部署到生产服务器的好方法是什么?目前,我只是在存储库的根目录中有一个FastCGI调度脚本,当我想要更新服务器代码时,我将分支推送到服务器。这很简单,但并不完美。如果代码未能通过服务器机器上的测试(例如,由于未满足的依赖关系),我将留下一个已损坏的应用程序。如何部署您的Catalyst应用程序?您有更好的方法吗?

将代理负载平衡器和两个触发器fastcgi应用程序结合起来,作为生产应用程序和暂存应用程序交替运行将是您的最佳选择。您使用的是什么web服务器?如果恰好是Lighttpd,请查看以下链接:


为了处理未满足的依赖关系问题,我使用了一个脚本,该脚本对整个应用程序树运行
svn export
,并将其放到一个单独的目录中,适当地设置环境,然后执行:

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

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

不幸的是,我在共享主机上使用Apache,这意味着我缺少选项,但还是要感谢您提供的提示。