簡體   English   中英

Rvm-Linux Ubuntu上的Capistrano集成

[英]Rvm - Capistrano integration on Linux Ubuntu

我試圖正確使用Capistrano和RVM,以便將Ruby on Rails 3.2.2應用程序部署到運行Ubuntu 10.04 LTS的遠程計算機上。 我閱讀了“ 如何配置capistrano以使用我的rvm版本的Ruby ”問題/答案和“ 使用Capistrano使用RVM紅寶石 ”官方文檔,但是仍然存在一些與Rvm-Capistrano集成有關的問題。

例如,關於通過rvm capistrano插件進行的集成 (有關更多信息,請參見官方文檔), 我必須做些什么 (因為我不知道在哪里以及如何放置相關代碼)

或者,關於通過:default_environment進行的集成 (有關更多信息,請參見官方文檔),您應該在deploy.rb文件中正確聲明以下代碼:

set :default_environment, {
  'PATH'         => "/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:/path/to/.rvm/ree-1.8.7-2009.10/bin:$PATH",
  'RUBY_VERSION' => 'ruby 1.8.7',
  'GEM_HOME'     => '/path/to/.rvm/gems/ree-1.8.7-2010.01',
  'GEM_PATH'     => '/path/to/.rvm/gems/ree-1.8.7-2010.01',
  'BUNDLE_PATH'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01'  # If you are using bundler.
}

這些路徑指的是什么? 如何檢索運行Linux Ubuntu的路徑值?

最后,您建議使用哪種集成類型?

首先確保在計算機上安裝了rvm。

如果未安裝rvm,請參見RVM安裝說明Ubuntu 10.04上的RVM

然后找到rvm的安裝位置,可以使用findlocate命令完成。

例如

find / -iname *rvm

要么

locate rvm

在這些命令的輸出中,您將看到類似/somedirectory/someotherdirectory/.rvm/gees/somethingelse的內容。

/somedirectory/someotherdirectory/是您在deploy.rb /path/to/替換/path/to/或在Capistrano使用RVM紅寶石的第一個選項的文檔中的unshift命令中替換ENV['rvm_path']的內容。

deploy.rb中的路徑是

/path/to/.rvm RVM安裝路徑

'PATH'是用於從中調用rvm二進制文件的二進制路徑。

有關PATH的更多信息,請參見此處

GEM_HOME是Gem的主目錄。

有關寶石的更多信息,請參見此處

'GEM_PATH'是寶石的路徑。

'BUNDLE_PATH'是捆綁包的路徑。

有關捆綁和捆扎機的更多信息,請參見此處

我已經創建了用於rvm / capistrano集成的示例項目https://github.com/mpapis/ad

並且您可以在這里看到創建部署腳本有多么容易https://github.com/mpapis/ad/blob/master/config/deploy.rb

最重要的是在部署之前訪問服務器並安裝正確的紅寶石。

我還將添加新的集成任務以安裝rvm / ruby​​-> https://github.com/wayneeseguin/rvm/issues/829

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM