本番環境と開発環境で異なる振る舞いをするための「職長の方法」は何ですか? つまり、フォアマンが dev で一連のものを起動できるようにする必要がありますが、heroku の運用では、(たとえば) solr を起動する必要はありません。
9299 次
4 に答える
22
私は規則に従います。
Procfile
すべてのプロセスを定義する.foreman
特定の職長変数を設定する
発達:
.env
各開発者の環境変数を設定します.env.example
開発用のデフォルトを設定しますforeman start
すべてのプロセスを開始します
製造:
heroku config
環境変数を設定しますheroku ps:scale
生産に必要なプロセスをオンまたはオフにします
プロジェクトの例を次に示します。
プロファイル:
web: bundle exec unicorn_rails -p $PORT -c ./config/unicorn.rb
worker: bundle exec rake jobs:work
search: bundle exec rake sunspot:solr:run
.env.例:
# default S3 bucket
S3_KEY=keykeykeykeykeykey
S3_SECRET=secretsecretsecret
S3_BUCKET=myapp-development
.env
# developer's private S3 bucket
S3_KEY=mememememememememe
S3_SECRET=mysecretmysecret
S3_BUCKET=myapp-development
。フォアマン:
# development port is 3000
port: 3000
于 2013-01-13T23:32:33.673 に答える
3
Foremanは、別のファイル(-d)を使用するための引数と、実行するものを指定するための引数を取ります。.foreman
また、これらの引数をデフォルトにするファイルもサポートしています。詳細については、 http://ddollar.github.com/foreman/を参照してください
于 2013-01-13T21:50:55.733 に答える
1
以前に環境固有Procfile
の s を使用したことがありますが、これは非常にシンプルで正常に動作します。
基本的Procfile.development
に、、などがあります。それぞれで、開始するプロシージャをカスタマイズして、次のようProcfile.production
に実行できます。foreman
foreman start -f Procfile.development
もう 1 つの方法は、 でスクリプトを参照し、Procfile
各スクリプト内で環境に基づいて適切なプロセスを開始することです。Foreman の作成者はこれを行っており、彼の Anvil プロジェクトの例を参照してください。
于 2016-05-12T17:55:59.863 に答える