Heroku レビューアプリでホスト名を環境変数として設定する 質問する

Heroku レビューアプリでホスト名を環境変数として設定する 質問する

私はHerokuのGithubに統合されたレビューアプリ機能を使用しています。私のアプリの1つで、という環境変数を設定しましたHOST_NAME。たとえば、サイトがhttp://www.purplebinder.comの場合、HOST_NAMEは に設定されますwww.purplebinder.com。これは、Cookie を使用するいくつかの場所とトランザクション メールで使用されます。

新しいプルリクエストを開いてレビューアプリを起動すると、HOST_NAME次のようなものになりますpurplebinder-pr-27.herokuapp.com

この値を自動的に設定する方法はありますか?レビューアプリに関する Heroku ドキュメントenv var は親アプリから値を継承することも、 にハードコードすることもできますapp.json。どちらのアプローチもここでは機能しません。値は毎回異なる必要があり、親アプリとも異なる必要があるためです。

Heroku では、env var は「ジェネレーターを通じて」設定できるとも言われていますが、それが何なのかについては詳しく説明されていません。

この質問は重複している可能性がありますレビューアプリのROOT_URLの設定だが、誰も答えなかった。これはまた、アプリ内からHerokuアプリ名を取得する方法しかし、そこでの回答では、アプリの作成後にスクリプトを実行する必要がありましたが、ここでは、この値を初期ビルドの一部として設定したいと思います。

ベストアンサー1

からhttps://devcenter.heroku.com/articles/github-integration-review-apps#heroku_app_name-and-heroku_parent_app_name:

スクリプト作成を支援するために、アプリのレビューに 2 つの特別な設定変数を使用できます。ファイルでHEROKU_APP_NAMEまたは をHEROKU_PARENT_APP_NAME必須またはオプションの設定変数として指定するとapp.json、Heroku はそれらの設定変数をそれぞれ新しいアプリケーション名と親アプリケーション名に設定します。その後、それらはデプロイ後のスクリプトで使用できるようになり、より高度なブートストラップと設定を行うことができます。

以下はと をapp.json使用するサンプルファイルです。HEROKU_APP_NAMEHEROKU_PARENT_APP_NAME

{
    "name":"Advanced App",
    "scripts": {
        "postdeploy": "rake db:setup && bin/bootstrap"
    },
    "env": {
        "HEROKU_APP_NAME": {
            "required": true
        },
        "HEROKU_PARENT_APP_NAME": {
            "required": true
        }
    }
}

おすすめ記事