[英]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.