将Catalyst应用程序部署到生产服务器的好方法是什么?目前我只是在存储库的根目录中有一个FastCGI调度脚本,当我想更新服务器代码时,我将分支推送到服务器。这很简单,但并不完美。如果代码在服务器计算机上的测试失败(例如由于不满意的依赖关系),我将留下破坏的应用程序。如何部署Catalyst应用程序?你有更好的方法吗?
答案 0 :(得分:10)
代理负载均衡器和两个触发器fastcgi应用程序的组合作为生产和登台应用程序运行将是您最好的选择。你使用什么Web服务器?如果碰巧是Lighttpd,那么看看这些链接:
答案 1 :(得分:3)
为了处理不满意的依赖项问题,我使用一个脚本运行svn export
整个app-tree到一个单独的目录,适当地设置环境然后执行:
perl -MMyApp -e '{print "OK"}'
if [ $? -ne 0 ]
then
echo "MyApp failed compile, not installing."
exit 1
fi
在回收Apache和/或FastCGI之前,这足以确保在dev中安装的任何模块都可用。一旦成功,导出的代码就会移动到最终位置。