[heroku] 푸시 또는 구성 변경없이 Heroku 슬러그를 다시 컴파일

새로운 커밋을 푸시하거나 구성 변수를 업데이트하지 않고 Heroku가 슬러그를 다시 컴파일하도록 강제하는 방법이 있는지 궁금합니다.

왜 내가 이것을하고 싶습니까? :

Heroku의 Cedar 스택을 Rails 3.2 앱에 사용하고 있는데 rake assets:precompile작업 실패 문제가 있습니다 (컴파일 중 — 나중에는 잘 작동합니다 heroku run). 나는 이것이 슬러그 컴파일 시간 동안 특정 환경 변수를 사용할 수 없기 때문이라고 생각하며 heroku labs:enable user_env_compile실험적인 기능으로 해결할 수 있다고 생각합니다 .

그러나 user_env_compile기능이 켜져 있으면 구성 변경으로 인해 슬러그 재 컴파일이 트리거되지 않으며 코드가 변경되지 않았으므로 푸시 할 새로운 커밋이 없습니다.

물론 사소한 변경으로 “더미”커밋을 푸시 할 수 있습니다. 아마도 가장 간단한 대답입니다. — 슬러그를 직접 다시 컴파일 할 수있는 heroku 명령이 있는지 궁금합니다.

감사!



답변

슬러 컴파일은 git pre-recieve 훅으로 호출되므로 재 컴파일하는 유일한 방법은 새로운 커밋을 푸시하는 것입니다.

완전성에 대해서는 슬러그 컴파일러 에 대한 Heroku의이 기사를 참조하십시오 . 컴파일 표제 아래에서 슬러그 컴파일 프로세스를 호출하기 위해 사전 수신 후크 사용에 대해 설명했습니다.


답변

현재 가장 간단한 해결 방법 은 빈 커밋푸시하는 것 입니다.

git commit --allow-empty -m "empty commit"
git push heroku master


답변

내 일반적인 접근 방식은 다음과 같습니다.

git commit --amend -C HEAD
git push heroku:master -f

기술적으로 마지막 커밋을 다시 작성하지만 이론상 문제를 일으키지 않기 때문에 확실하지 않고 프로덕션 에서이 작업을 수행 할 것인지 확실하지 않습니다. 스테이징에서 테스트 할 때 완벽하게 좋습니다.

대부분의 사람들은 Vim을 사용하여 커밋 메시지를 편집하는 데 문제가 있기 때문에 추가 보너스로 SHIFT-ZZ커밋 메시지를 변경하지 않고 빠르게 저장하고 종료합니다.

관련 메모에서 나는 헤 로쿠에 약간 충격을 받았지만 여전히이 기능을 가지고 있지 않습니다. 나는 종종 Heroku가 결국 문제로 인해 전개되지 않는 것을 보았습니다.

-C HEAD에디터를 열지 않기 위해 사용할 아이디어에 대해 Michael Mior에게 감사드립니다 .


답변

Heroku는 다음과 같은 플러그인을 출시했습니다 : https://github.com/heroku/heroku-repo

설치하려면 :

$ heroku plugins:install heroku-repo

재 구축을 강제하려면 :

$ heroku repo:purge_cache -a appname
$ heroku repo:reset -a appname
$ git push heroku


답변

업데이트 : heroku repo : rebuild가 제거되었습니다 .

Heroku에는 사용할 수있는 Build API가 있습니다. API를 사용하여 빌드 및 릴리스를 참조하십시오.


heroku-repo 애드온 인 경우 repo : rebuild 명령을 사용할 수 있습니다 .

heroku repo:rebuild -a appname

https://github.com/heroku/heroku-repo


답변

아직 사용할 수없는 것 같습니다. 그러나 heroku github repo에서 기능 요청 이 열렸습니다.

또한 “에 의존하지 구축 할 수있는 다른 방법을 언급 git push

https://github.com/ddollar/heroku-anvil


답변

이를위한 heroku 플러그인 이 있습니다.

$ heroku plugins:install heroku-releases-retry
Installing plugin heroku-releases-retry... done
$ heroku releases:retry
Retrying v16 on ⬢ murmuring-lowlands-3398... done, v17