Chciałbym wdrożyć aplikację Heroku, która zostanie wykonana idealnie przy użyciu git push -u heroku master
. Jednak zadziała to tylko wtedy, gdy istnieją jakieś oczekujące zatwierdzenia, które mają zostać przesłane do mastera.
Jak mogę ponownie wdrożyć aplikację, gdy nie ma nic do przekazania? Próbowałem git push -u heroku master -f
i nadal mam to samo poniżej
Branch master set up to track remote branch master from heroku.
Everything up-to-date
PS: Chcę również zachować istniejącą aplikację, co oznacza, że nie mogę skorzystać z tej odpowiedzi https://stackoverflow.com/a/22043184/968442
DISABLE_COLLECTSTATIC=1
, który powinien wywoływać kolejne polecenie Django,manage.py collectstatic
które jest podpięte do logiki wdrażania heroku.Odpowiedzi:
Zwykle ustawienie zmiennej config powoduje ponowne uruchomienie aplikacji. W większości sytuacji po wykonaniu tej czynności nie powinno być potrzeby ponownego wdrażania.
Jeśli naprawdę potrzebujesz wyzwolić nowe wdrożenie, możesz dodać nowe puste zatwierdzenie, a następnie ponownie wysłać do Heroku:
Nowy pusty zatwierdzenie jest zwykłym zatwierdzeniem. Ma hash, autora, znacznik czasu itp. Będzie mieć to samo drzewo co jego rodzic. Powinno to spowodować, że Heroku ponownie zbuduje slug aplikacji przy użyciu tego samego kodu, co w poprzednim zatwierdzeniu.
To trochę niezręczne, ale działa.
źródło
.git
), aby ukryć to zatwierdzenie przed githubem.git commit --allow-empty
otrzymujęEverything up-to-date
od Heroku ...git log
. Czy pomyślnie utworzyłeś nowe zatwierdzenie przed pushowaniem?master
). Więc musiałem wykonać:git push -f heroku the_branch_i_changed:master
.Możesz to również zrobić z poziomu interfejsu użytkownika!
Heroku
panelu i przejdź dodeploy
sekcjiManual deploy
opcjęNaciśnij
Deploy Branch
przycisk!źródło
Dostępna jest teraz również wtyczka do wiersza poleceń Heroku, która umożliwia ponowne wydanie ostatnio wdrożonego ślimaka.
Zobacz https://www.npmjs.com/package/heroku-releases-retry
źródło
Możesz biec
heroku restart --app app_name
i możesz iść.źródło