2012-12-10 4 views
4

heroku에서 기본 buildpack (apache)을 사용하여 PHP 응용 프로그램을 만든 다음 php-fpm + nginx buildpack (https://github.com/iphoting/heroku-buildpack-php-tyler/)으로 변경하기로 결정했습니다. 왜 기존 heroku 빌드 팩을 변경하면 bin/release가 실행되지 않는가?

나는 변경 명령 ​​발행 :

heroku config:set BUILDPACK_URL=https://github.com/iphoting/heroku-buildpack-php-tyler.git 

을 그리고로 밀어 :

PATH의 설정 때문에, 슬러그 후 컴파일하지만 모든 바이너리를 찾을 수 없습니다 "명령"을 실행에 실패

git push heroku master 
bin/release로 갱신해야하는 변수는 갱신되지 않습니다.

heroku create -b https://github.com/iphoting/heroku-buildpack-php-tyler.git 

모든 것을 buildpack이 처음부터 응용 프로그램을 생성 할 때 예상대로 비교

는 실행 (및 PATH 존재 및 갱신된다).

내 가정은 구성 변수 BUILDPACK_URL을 변경 한 후에 bin/release가 실행되지 않아서 PATH 변수가 설정되지 않는다는 것입니다.

앱을 작동 시키려면 수동으로 PATH 구성 변수를 추가해야했습니다. 다른 사람이 이걸 본 적이 있습니까? 이것은 예상 된 행동입니까? 내 이해에 의해 bin/release는 슬러그 컴파일 후에 항상 실행되어야합니까?

편집 : 앱 저장소에 당신은 아마 Procfile이 올바른 ".git"한

답변

4

addonsconfig_vars 속성이 bin/release 인 것은 응용 프로그램의 처음 배포시 빌드 팩에서만 가져온 것입니다. 자세한 내용은 https://devcenter.heroku.com/articles/buildpack-api#binrelease을 참조하십시오. https://devcenter.heroku.com/articles/labs-dot-profile-d

buildpack 복사 응용 프로그램으로 .profile.d/buildpack_name.sh 경우, 해당 파일이 공급됩니다 Heroku가이 설정을 추가하는 buildpack을위한 새로운 시스템을 통해 이동

이 앱의 첫 배포 넘어 작업 것이다 바르 응용 프로그램 부팅 중. 이것은 PATH과 같은 것을 설정하는 데 사용될 수 있습니다.

+0

오, 이제 나는 첫번째 instal에 관해서 그 애매한 팁을 본다. .. 나는 그것이 지금까지 그것을 놓쳤다 고 생각한다. 고마워요. 실험실에서 졸업 할 때가 언제입니까? –

+0

bin/compile 스크립트에서'export PATH = ...'를 실행할 수 있다고 가정합니다. –