2009-10-30 23 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之前都可用。一旦成功,導出的代碼將移至其最終位置。

相關問題