2016-12-27 5 views
8

Ich möchte eine Heroku-App bereitstellen, die idealerweise mit git push -u heroku master ausgeführt wird. Dies funktioniert jedoch nur, wenn ausstehende Commits an den Master gesendet werden.Erneutes Bereitstellen der Heroku-App ohne Codeänderungen

Wie kann ich die App erneut bereitstellen, während es nichts zu schieben gibt? Ich habe versucht, git push -u heroku master -f und immer noch die gleichen unten

Branch master set up to track remote branch master from heroku. 
Everything up-to-date 

PS bekommen: Ich mag auch die bestehende App behalten, was bedeutet, dass ich keinen Gebrauch von dieser Antwort mache https://stackoverflow.com/a/22043184/968442

+0

Das klingt wie ein [XY Problem] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Was möchten Sie erreichen, indem Sie denselben Code erneut bereitstellen? – Chris

+0

Ein Fall, wo ich die wenigen configvars änderte, die eine erneute Implementierung verdient, aber keine commits – nehemiah

+0

[Festlegen einer Konfiguration var] (https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for -a-deployed-application) bewirkt, dass Ihre Anwendung neu gestartet wird. Es sollte wirksam werden, ohne erneut zu implementieren. Kannst du genauer sein? – Chris

Antwort

18

Normalerweise wird ein Config var Einstellung bewirkt, dass Ihre Anwendung neu gestartet werden. In den meisten Situationen sollte es nicht notwendig sein, nach diesem Vorgang erneut zu implementieren.

Wenn Sie wirklich, Sie brauchen eine neue Bereitstellung auslösen ein neues leeres verpflichten hinzufügen können, dann Heroku drücken Sie erneut:

git commit --allow-empty -m "Trigger Heroku deploy after enabling collectstatic" 
git push heroku master 

Die neue leere begehen regelmäßig ist zu begehen. Es hat einen Hash, einen Autor, einen Zeitstempel usw. Es wird den gleichen Baum haben wie sein Elternteil. Dies sollte dazu führen, dass Heroku den App-Slug erneut unter Verwendung des gleichen Codes wie beim vorherigen Commit erstellt.

Es ist ein bisschen peinlich, aber es funktioniert.

+0

Klingt fair genug und macht den Job. Jetzt bin ich versucht, das Repository ('.git') zu sichern/wiederherzustellen, um dieses Commit vor github zu verbergen. – nehemiah

+0

@itsneo, würde ich nicht stören. Es ist ein hässlicher Commit, aber wenn Sie weiterhin Code über den vorherigen Commit schreiben, müssen Sie das nächste Mal Push zu Heroku zwingen. Das ist keine gute Angewohnheit, obwohl manchmal nötig ... – Chris

+0

Selbst mit 'git commit --allow-empty' erhalte ich" Alles up-to-date "von Heroku ... –

Verwandte Themen