3

私は複数の開発者と一緒にプロジェクトに取り組んでおり、現在、デプロイ元のコンピューターに応じて deploy.rb スクリプトの変数を変更する必要があります。

使用しているコンピューターに応じて、ユーザー名とパス/プロジェクトへのパスをどのように設定できますか?

私たちはすべてosxで実行しています。

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

Rails/capistrano/osxでこれを行うにはどうすればよいですか?

4

3 に答える 3

4

os/x シェル$USERは、ログインしているユーザーのログイン名を持つ環境変数を設定します。ENV['USER']capファイルのように参照できます

于 2013-04-05T15:18:08.740 に答える
1

このwhoamiコマンドはほとんどの Unix システムで使用できるはずなので、次のコマンドは Linux などでも機能するはずです。

if `whoami` == "jeff"
  set :user, "jeff's username'
elsif ...
  set :user, 'blah'
end
于 2013-04-05T15:19:25.083 に答える
1

ここで、環境変数が役に立ちます。

set :user, ENV['USERNAME']

これを設定するには多くの方法があります。シェルで直接実行できます

export USERNAME=blah

しかし、よりクリーンなプロジェクトごとのソリューションについては、dotenvgem が気に入っています。:developmentのグループでこれを有効にするGemfileと、Rails が読み込まれるときに.env、アプリケーションのルートにある特殊ファイルの各行が環境変数としてエクスポートされます。

USERNAME=blah
于 2013-04-05T15:19:39.583 に答える