2009-08-03 119 views
5

有沒有一種方法可以在每次通過capistrano完成部署時保留日誌(本地或存儲在遠程服務器上)?記錄過去在任何特定時間進行的修訂是非常有用的。保持capistrano部署的日誌

我知道部署過程留下了發佈目錄中最後10個部署的已部署文件,但保留更多歷史記錄並使其以平面文件的形式可訪問將會很好。

回答

8

capistrano設置了一些有用的變量,其中一個名爲latest_revision,您可以將其轉儲到文件中。

task :mark_revision do 
    log = "#{deploy_to}/revisions.log" 
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " + 
    "echo #{latest_revision} >> #{log};" 
end 
+0

看來Capistrano的3對您在部署創建revisons.log – lfender6445 2015-04-05 00:38:40

3

有沒有內置的功能,所以其他答案將完美工作;我可能會說,你應該把它安裝到默認執行鏈條不知怎麼的,我會建議像

after :deploy, :mark_revision 
的更好恕我直言

東西會是這樣的:

after :deploy do 
    log = "#{deploy_to}/revisions.log" 
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " + 
    "echo #{latest_revision} >> #{log};" 
end 

我已經打開它作爲一個就Capistrano的錯誤跟蹤器進行討論的機票,也許我們會在覈心中實施一些內容以保持更好的日誌;這當然是我們嚴重忽視的一個很好的問題!通過保持數據庫驅動的Web前端,Peritor Labs的「Webistrano」可以做類似的事情,這使您可以記錄任何您喜歡的內容,並將用於部署的依賴關係從開發人員計算機移到更重要的位置;通常人們在他們的CI服務器上使用Webistrano,或者如果他們是自託管的,則存儲庫主機。他們Trac的更多信息:http://labs.peritor.com/webistrano

的錯誤所在位置:https://capistrano.lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments