2012-12-10 40 views
4

我有一個使用默認buildpack(apache)的heroku上的php應用程序,然後決定將其更改爲php-fpm + nginx buildpack(https://github.com/iphoting/heroku-buildpack-php-tyler/)。爲什麼改變現有應用程序的heroku buildpack不會運行bin/release

我發出更改命令:

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

而且隨着推:

git push heroku master 

嵌塞然後編譯,但所有的二進制文件失敗,出現「未找到命令」來執行,因爲路徑配置應該用bin/release更新的變量不會更新。

相比較而言,與

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

一切從頭開始創建與此buildpack應用時按預期運行(和PATH存在和更新)。

我的假設是bin/release在更改配置變量BUILDPACK_URL後未運行,因此未設置PATH變量。

爲了使應用程序工作,我不得不手動添加PATH配置變量。有沒有人遇到過這個?這是預期的行爲?據我的理解,bin/release應該總是在slug編譯後運行?

編輯:修正後的git的URL到您的應用程序庫中的正確的「git的」一個

回答

4

您的假設是正確的,bin/releaseaddonsconfig_vars屬性僅取自應用第一次部署中的buildpack。有關更多詳細信息,請參閱https://devcenter.heroku.com/articles/buildpack-api#binrelease

的Heroku被移動到一個新的系統的buildpack添加配置瓦爾那工作超出應用首次部署:https://devcenter.heroku.com/articles/labs-dot-profile-d

如果buildpack份.profile.d/buildpack_name.sh到應用程序,該文件將被採購在應用程序啓動時這可以用來設置諸如PATH之類的東西。

+0

哦,現在我看到了關於第一次安裝的難以捉摸的提示......我想我錯過了它。謝謝!你有估計什麼時候會從實驗室畢業嗎? –

+0

我還假設你可以在bin/compile腳本中運行一些'export PATH = ...'? –

相關問題