Ich möchte eine Heroku-App bereitstellen, die idealerweise verwendet wird git push -u heroku master
. Dies funktioniert jedoch nur, wenn ausstehende Commits an den Master gesendet werden müssen.
Wie kann ich die App erneut bereitstellen, während nichts zu pushen ist? Ich habe versucht git push -u heroku master -f
und immer noch das gleiche unten
Branch master set up to track remote branch master from heroku.
Everything up-to-date
PS: Ich möchte auch die vorhandene App beibehalten, was bedeutet, dass ich diese Antwort https://stackoverflow.com/a/22043184/968442 nicht verwenden kann
DISABLE_COLLECTSTATIC=1
die einen anderen Django-Befehl aufrufen soll,manage.py collectstatic
der in die Heroku-Bereitstellungslogik eingebunden ist.Antworten:
Wenn Sie normalerweise eine Konfigurationsvariable festlegen, wird Ihre Anwendung neu gestartet. In den meisten Situationen sollte danach keine erneute Bereitstellung erforderlich sein.
Wenn Sie wirklich eine neue Bereitstellung auslösen müssen, können Sie ein neues leeres Commit hinzufügen und dann erneut zu Heroku wechseln:
Das neue leere Commit ist ein reguläres Commit. Es hat einen Hash, einen Autor, einen Zeitstempel usw. Es hat den gleichen Baum wie sein übergeordnetes Element. Dies sollte dazu führen, dass Heroku Ihren App-Slug erneut mit demselben Code wie beim vorherigen Commit erstellt.
Es ist etwas umständlich, aber es funktioniert.
quelle
.git
) zu sichern / wiederherzustellen , um dieses Commit vor Github zu verbergen.git commit --allow-empty
ichEverything up-to-date
von Heroku erhalte ...git log
. Haben Sie vor dem Push erfolgreich ein neues Commit erstellt?master
). Also musste ich ausführen :git push -f heroku the_branch_i_changed:master
.Sie können dies auch über die Benutzeroberfläche tun!
Heroku
Dashboard an und gehen Sie zumdeploy
AbschnittManual deploy
OptionHit -
Deploy Branch
Button klicken!quelle
Es gibt jetzt auch ein Plugin für die Heroku-Befehlszeile, mit dem Sie den zuletzt bereitgestellten Slug erneut veröffentlichen können.
Siehe https://www.npmjs.com/package/heroku-releases-retry
quelle
Du kannst rennen
heroku restart --app app_name
und du kannst loslegen.quelle