我總是通過SSH手動登錄並運行git pull origin master
,運行遷移和預編譯資產,部署我的應用程序。從手動拉服務器到Capistrano
現在,我開始更感興趣Capistrano的,所以我給它一個嘗試,我建立與資源庫指向的github和deploy_to
到/home/myusername/apps/greatapp
服務器上的當前應用配方已經使用Git掛鉤所以我不知道爲什麼我不得不在配方中再次指定github url,但我跑cap deploy
這是成功的。
這些更改並不適用,因此出於好奇,我瀏覽了服務器上的應用程序文件夾,發現Capistrano創建了文件夾:shared
,releases
和current
。後者包含應用程序,所以現在我有兩個副本/home/myusername/apps/greatapp
和另一個/home/myusername/apps/greatapp/current
。
這是怎麼回事?我必須將用戶上傳遷移到
current
並銷燬舊應用程序?請問Capistrano在我的本地主機上拉回購,然後通過SSH上傳或在服務器上運行
pull
?換句話說,有人可以概述部署的工作原理嗎?卡皮斯特拉諾運行
precompile:assets
?