0

私のチームは Rails アプリケーションを保守しています。以前の開発者は、いくつかの構成変数 (facebook アプリ ID、Twitter アプリ ID など) を env 変数として配置することにしました。しかし、これはあまり汎用性がありません。2 つのアプリケーション (テストと本番) がある場合、ハードコーディングされた構成を 1 つだけ使用する (または手動で変更する) 必要があります。また、これらの変数をバージョン管理に入れることをお勧めします。

それは正しい方法ですか?そうでない場合、正しい方法は何ですか?

4

1 に答える 1

1

2つのアプリで以下のソリューションを使用しています。

  1. https://github.com/railsjedi/rails_configgemのymlファイルに構成変数を保存します。

  2. アプリは、イニシャライザーを介して本番モードと開発モードで異なるymlファイルを使用するように構成されています。

  3. 本番サーバーでは、ymlファイルを含むディレクトリは2つのアプリとシンボリックリンクされています。

capistranoのタスクは次のようになります。

namespace :settings do
  task :symlink, roles: :app do
    run "ln -s /path_to_settings/#{rail_env} #{current_path}/config/settings"
  end
end

after "deploy:create_symlink", "settings:symlink"
于 2013-02-11T13:36:31.067 に答える