我正在开发一个包含多个开发人员的项目,目前我们必须根据我们部署的计算机来更改deploy.rb脚本中的变量。
我们如何根据我们使用的计算机设置用户名和路径/项目?
我们都在osx上运行。
实施例
if osx logged in user == "jeff"
set :user, "jeff's username'
else if ...
set :user, 'blah'
end
我如何在rails / capistrano / osx中执行此操作?
答案 0 :(得分:4)
os / x shell设置一个具有登录用户登录名的env变量$USER
。您可以在封面文件中将其引用为ENV['USER']
答案 1 :(得分:1)
whoami
命令应该可以在大多数Unix系统上使用,因此以下内容也适用于Linux等:
if `whoami` == "jeff"
set :user, "jeff's username'
elsif ...
set :user, 'blah'
end
答案 2 :(得分:1)
这是环境变量派上用场的地方。
set :user, ENV['USERNAME']
有很多方法可以设置它。您可以使用
直接在shell中完成export USERNAME=blah
但是对于更清洁的每个项目解决方案,我更喜欢dotenv
gem。在:development
的{{1}}组中启用此功能后,当加载Rails时,它会将应用程序根目录中特殊Gemfile
文件的每一行导出为环境变量。
.env