22

development私は現在、ローカルとproductionHerokuの 2 つの環境で作業しています。

stagingアプリをユーザーに公開する前に、Heroku に環境を追加して、すべてが期待どおりに進むことを確認したいと思います。できれば、staging環境には環境とまったく同じ設定とデータがproduction必要です。

上記を達成するために必要な手順は何ですか?

4

3 に答える 3

37

まず素因として、heroku git リモートをステージングとプロダクションとしてセットアップして、git push ステージング/プロダクションを簡単に使用してそれぞれにデプロイできるようにしたいと考えています。そのセットアップを使用して、ステージング環境の作成方法を説明します。

  1. config/environments/staging.rb「config/environments/production.rb」からコピーするファイルを作成します
  2. ステージング データベースの database.yml エントリを追加します (heroku にはあまり必要ありませんが、影響はありません)。
  3. .env ファイルをバックアップします (ある場合)。
  4. heroku-config プラグインをインストールしますheroku plugins:install git://github.com/ddollar/heroku-config.git
  5. 環境設定をheroku(本番サーバー)からプルしますheroku config:pull --remote production
  6. .env ファイルを変更し、これらの値を構成に追加することを忘れないでください。RACK_ENV=staging RAILS_ENV=stagingこれにより、ステージング環境構成が使用されます。
  7. heroku 環境をフォークしますheroku fork -a production staging(これらは、プロダクション/ステージングの代わりに必要な heroku アプリ名です)
  8. 「heroku config:push --remote staging」を実行します
  9. コードをステージング環境に適切にデプロイしてください

このチュートリアルを読むこともできます。heroku で複数の環境を使い始めるために使用したと思います: https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations

于 2013-10-13T11:21:18.817 に答える
8

heroku fork -a PRODUCTION_APP_NAME NEW_STAGE_APP_NAME新しいアプリを作成し、すべて (postgres データベースを含む) をコピーします。次に、必要に応じて、アドオンをより小さなプラン (スターター層データベースなど) に手動でダウングレードしました。

実際、比較的新しいものを使用してheroku pipeline:promote、コンパイル済みのスラッグをステージングから本番環境に自動的に (そして非常に迅速に) プッシュすることを開始しました。(これは、設定または環境変数を介して環境固有の設定があることを前提としているため、コード スラッグは同じです。)

于 2014-01-05T01:49:05.570 に答える
6

berislavbabic によって説明された手順は、Heroku のサイトの次のガイドに従って推奨されていないことに注意してください: https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations

そこで詳細を読むことができますが、ステージング環境を本番環境と同じに保ち、heroku fork を使用して本番環境からステージング環境にコピーすることをお勧めします。

于 2014-06-10T05:58:17.380 に答える