如何在使用capistrano命令進行部署時避免共享包文件夾下的多個寶石。大多數時候,當我將一個gem從一個版本遷移到另一個時,共享包文件夾仍然包含這兩個版本,從而導致問題。我們應該如何避免這一點?如何避免共享包文件夾下的多個寶石
1
A
回答
4
我不知道我看到過這樣的衝突。但我已經延長Capistrano的deploy:cleanup
任務與清理過時的捆綁寶石:
after "deploy:cleanup", "bundle:clean"
namespace :bundle do
task :clean, :except => {:no_release => true} do
bundle_cmd = fetch(:bundle_cmd, "bundle")
run "cd #{latest_release} && #{bundle_cmd} clean"
end
end
如果它使你發生衝突,你也許可以做到這一點,而不是deploy
後。
1
khustochka上面的答案完美地解決了我的問題。但是,如果您的系統使用Capistrano v3,則語法發生了顯着變化。我用下面的:
namespace :bundle do
task :clean do
on roles(:web) do
within release_path do
with rails_env: fetch(:rails_env) do
execute :bundle, :clean
end
end
end
end
end
after "deploy:cleanup", "bundle:clean"
〜
相關問題
- 1. 如何在部署期間避免共享包文件夾
- 2. 如何避免清爽寶石列表
- 3. 如何避免共享狀態?
- 4. 避免與動態加載的紅寶石文件的全局
- 5. 如何在多個項目中共享.git文件夾?
- 6. 共享集服務,避免在共享組件
- 7. 如何從主文件共享對象到支持紅寶石文件?
- 8. 如何爲大家共享文件夾
- 9. 如何共享遠程文件夾?
- 10. 避免打印響應「200」的,如果在紅寶石條件
- 11. 避免在NFS共享文本文件上同時寫入
- 12. Windows文件夾共享API
- 13. 共享文件夾權限!
- 14. EPiServer共享文件夾VPP
- 15. 共享文件夾執行
- 16. 從firebase共享文件夾
- 17. 共享文件夾槽C#
- 18. Dropbox API - 共享文件夾
- 19. 共享文件夾和XCode
- 20. 如何避免select2中選擇的提示寶石
- 21. 如何避免在Xcode中多次包含公共基本庫?
- 22. Ruby備份寶石 - 共享配置?
- 23. 參考寶石的安裝文件夾
- 24. 如果我有一個包含許多代碼片段文件夾的文件夾,如何避免Git或Mercurial提交其他文件夾中的源代碼?
- 25. 多個源文件夾:避免與螞蟻
- 26. 紅寶石 - 訪問多維散列,避免接入無對象
- 27. 如何使用紅寶石光纖以避免阻塞IO
- 28. 如何避免紅寶石在軌道上無班級?
- 29. NodeJs - 如何共享我的模型的MySQL池,以避免'ER_CON_COUNT_ERROR'
- 30. 如何使用c#從onedrive中的共享文件夾下載文件?
這會不會破'部署:rollback'?如果舊版本的代碼依賴於不同版本的gem,則回滾將失敗,因爲該gem已被清除。可能需要再次回滾到'bundle install'? – gmcnaughton 2017-06-29 21:13:59