私は Eclipse Virgo ビルドパックを開発していますが、Heroku で試して簡単なアプリをプッシュすると、検出に失敗します:
-----> Fetching custom git buildpack... done
! Heroku push rejected, no Cedar-supported app detected
ビルドパックの検出スクリプトは、アプリのルート ディレクトリでローカルに正常に動作します。
$[...]virgo-buildpack/bin/detect .
Virgo Web
これをデバッグする方法に関するヒントはありますか? 検出スクリプトで stdout と stderr に書き込みを試みましたが、出力が「heroku ログ」に表示されません。
Mac OS X 10.8.2、Ruby 1.9.3p374、gems 1.8.23 を実行しています。
更新: 最初の 2 つの回答に続いて、detect.rb スクリプトを実行する前に、bash 検出スクリプトを使用して不足している gem をインストールしました。また、標準出力に書き込むようにビルドパック スクリプトを変更しました。
heroku プッシュはさらに進みますが、それでも失敗します。コンパイル スクリプトが終了しているのがわかりますが、リリース bash スクリプトには最初に echo コマンドがあり、これは出力に表示されません。
そのため、リリース スクリプトが呼び出されていないようです。
出力は次のとおりです (# は混乱を避けるためのコメントを示します)。
-----> Fetching custom git buildpack... done
# detect script enter and exit
Virgo Web app detected
# compile script enter and exit
-----> Discovering process types
Procfile declares types
-> (none)
# detect script enter and exit (again)
Virgo Web -> web
-----> Compiled slug size: 60.4MB
-----> Launching... ! Heroku push rejected, failure releasing code
heroku ログ --tail は、単純に次のように表示されます。
2013-03-06T10:53:48+00:00 heroku[slugc]: Slug compilation started
2013-03-06T10:54:27+00:00 heroku[slugc]: Slug compilation failed: failure releasing code