2014-02-25 44 views
2
/home/ec2-user/app/shared/bundle/ruby/2.0.0/gems/ 

上述文件夾上傳一條滑軌應用程序部署經由Capistrano的包含不同版本的相同的寶石如何防止在共享文件夾束寶石陳舊引用

例如的foo-1.0.0和foo-1.0.1以及foo-1.0.2

因爲我在原始部署後將寶石升級了兩次(通過Gemfile.lock反映)。這會導致應用程序無法正常工作,因爲它不清楚哪個gem優先並被加載到應用程序中。我如何確保在通過capistrano部署捆綁軟件時刪除了舊版本的陳舊引用。

+0

我不知道你是否想要以前的版本,但是你可以使用cap deploy刪除它們並上傳新版本:cleanup –

回答

1

當您使用展開時之間的持久,共享bundle目錄,你的交易速度,像這樣的問題。

你有兩個選擇:

  1. 手動清除共享綁定目錄,當你升級寶石
  2. 如果你想使用一個非共享釋放

內使用捆綁目錄發行版目錄中的捆綁目錄,您將只安裝當前版本的gems和支持文件。但是,每次部署時都必須安裝所有捆綁的寶石。

我會選擇#1和清除捆綁安裝目錄時部署有問題和失敗。 #2更安全並始終有效,但速度較慢。