いつも通りRailsアプリをHerokuにデプロイしようとすると、以下のようなエラーが出た。
>> git push heroku master
Enumerating objects: 67, done.
Counting objects: 100% (67/67), done.
Delta compression using up to 16 threads
Compressing objects: 100% (50/50), done.
Writing objects: 100% (54/54), 23.86 MiB | 311.00 KiB/s, done.
Total 54 (delta 17), reused 22 (delta 4), pack-reused 0
error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
Everything up-to-date
Writtingにやたら時間がかかるし、なんかゴミファイルが溜まっているのかな?
fatal: the remote end hung up unexpectedly
というエラーなのでネットワーク関連の問題かと思ったが、最近ネットワークの設定を変更した心当たりもない。
Everything up-to-date
という紛らわしい文字があるのでデプロイ出来てそうな気もするが、サイトには反映されていない。
Heroku gitからのデプロイなので公式ドキュメントをあたってみると、
Heroku アプリの Git リポジトリは、デプロイのみを目的にしています。このリポジトリからの複製は機能として正式にはサポートされておらず、最後の手段としてだけ試行する必要があります。このリポジトリをアプリの正規の “オリジン” リポジトリとして使用しないでください。代わりに独自の Git サーバー、または GitHub などのバージョン管理サービスを使用してください。
ということで、どうせバージョン管理としての機能はロールバック目的くらいにしか使われないので、個人アプリ程度なら一旦今までのデプロイ履歴など消えてもいいからリセットしてみようかな、と。
Herokuの場合はheroku-repooという専用の拡張機能からリポジトリのリセットができる。
https://devcenter.heroku.com/ja/articles/git#reset-a-git-repository
heroku plugins:install heroku-repo
heroku repo:reset --app アプリの名前
Resetting Git repository for ⬢ アプリの名前... done
一瞬でできた。
何事もなかったかのようにデプロイに成功した。
個人開発して2年くらいになるけど、なんかあんまりよくわかってないなぁ。