Ich verwende die Review Apps-Funktion, die mit Github auf Heroku integriert ist. In einer meiner Apps habe ich eine Umgebungsvariable namens HOST_NAME
festgelegt. Wenn die Site z. B. http://www.purplebinder.com ist, wird HOST_NAME
auf www.purplebinder.com
festgelegt. Es wird an einigen Orten verwendet, an denen wir mit Cookies und in unseren Transaktions-E-Mails arbeiten.Legen Sie den Hostnamen als Umgebungsvariable in der Heroku Test App fest
Wenn ich eine neue Pull-Anforderung öffne und eine Review App starte, sollte HOST_NAME
so etwas wie purplebinder-pr-27.herokuapp.com
sein.
Gibt es eine Möglichkeit, diesen Wert automatisch festzulegen? Die Heroku documentation on review apps besagt, dass eine env var einen Wert von der übergeordneten App erben kann oder in app.json
hardcoded sein kann. Keines dieser Ansätze funktioniert hier, da der Wert jedes Mal anders sein muss und sich auch von der übergeordneten App unterscheidet.
Heroku sagt auch eine env var kann "durch einen Generator" gesetzt werden, geht aber nicht ins Detail, was das ist.
Diese Frage könnte ein Duplikat von Setting ROOT_URL for Review Apps sein, aber niemand antwortete darauf. Es ist auch ähnlich zu How to get Heroku app name from inside the app, aber die Antworten dort umfassten das Ausführen eines Skripts nach dem Erstellen der App - hier möchte ich diesen Wert als Teil des ersten Builds festlegen.
mit der gleichen Sache Struggling zur Zeit - Und ich würde behaupten, dass die gewählte Antwort unten eigentlich nicht die Frage beantworten, da 'HEROKU_APP_NAME' wird' purplebinder- pr-27' in deinem Fall, nicht die vollständige URL. Ich fand auch das, was eine Erklärung der "Generator" Kommentar in der Dokumentation gibt: https://devcenter.heroku.com/articles/app-json-schema – woodardj