0

CI サーバー (TeamCity) からノード アプリをプッシュすると、git プッシュが失敗することがわかります。たまに (10 回のビルドごとに約 1 回) 発生しますが、原因を特定できませんでした。ビルドに「失敗した場合の再試行」ステップを追加しました。これは常に 2 回目の試行で機能します。

ビルドごとに新しいチェックアウトを行うように TeamCity を変更すると、エラーになることはありませんが、ビルド時間は 2 倍以上になります。

参考までに、ビルド プロセスはチェックアウトを実行し、grunt ビルドを実行してからローカルでビルドをコミットし、ビルドされたコードが Heroku にプッシュされるようにします。私はそのシナリオをカバーする強制プッシュを行っています:

git push -f git@heroku.com:myapp.git トランク:マスター

Heroku から返されたログの抜粋を次に示します。

[[08:27:37][Step 7/7] Dependencies installed
[08:27:37][Step 7/7] -----> Building runtime environment
[08:27:37][Step 7/7] -----> Discovering process types
[08:27:37][Step 7/7] Procfile declares types -> web
[08:27:42][Step 7/7] 
[08:27:42][Step 7/7] ! Heroku push rejected due to an unrecognized error.
[08:27:42][Step 7/7] ! We've been notified, see http://support.heroku.com if the problem persists.
[08:27:42][Step 7/7] 
[08:27:42][Step 7/7] 
[08:27:42][Step 7/7] To git@heroku.com:devgrade.git
[08:27:42][Step 7/7] ! [remote rejected] trunk -> master (pre-receive hook declined)
[08:27:42][Step 7/7] error: failed to push some refs to 'git@heroku.com:myapp.git'
[08:27:42][Step 7/7] Process exited with code 1
[08:27:42][Step 7/7] Step Push to Heroku (Command Line) failed
4