簡體   English   中英

Rails capistrano根據用戶登錄到計算機設置deploy.rb變量

[英]Rails capistrano set deploy.rb variables based on user logged in to computer

我正在開發一個有多個開發人員的項目,目前我們必須根據我們部署的計算機來更改deploy.rb腳本中的變量。

我們如何根據我們使用的計算機設置用戶名和路徑/項目?

我們都在osx上運行。

if osx logged in user == "jeff"
  set :user, "jeff's username'
else if ...
  set :user, 'blah'
end

我怎么能在rails / capistrano / osx中這樣做?

os / x shell設置一個env變量$USER ,它具有登錄用戶的登錄名。 您可以在cap文件中將其引用為ENV['USER']

whoami命令應該可以在大多數Unix系統上使用,因此以下內容也適用於Linux等:

if `whoami` == "jeff"
  set :user, "jeff's username'
elsif ...
  set :user, 'blah'
end

這是環境變量派上用場的地方。

set :user, ENV['USERNAME']

有很多方法可以設置它。 你可以直接用shell來做

export USERNAME=blah

但對於一個更清潔,每個項目的解決方案,我喜歡dotenv gem。 啟用此功能:development Gemfile :development組,當Rails加載時,它將導出應用程序根目錄中的特殊.env文件的每一行作為環境變量。

USERNAME=blah

暫無
暫無

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

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