git push heroku master で失敗したときの対処法
先日 Web・ITのスキルアップトレーニングサービス・プロバイダー|mswave にて、herokuにデプロイするアプリケーションのpush で失敗する人が結構な人数いたのでその対処法を書いておきます。
Heroku Toolbelt をつかってgit をインストールしただけではgit側の設定がきちんと行わてないことがあり、リモートリポジトリ(この場合はheroku)にソースコードをpushしようとしたときに失敗することがあります。これは、herokuの問題というよりgit の問題ですが、もっと言えばsshの問題です。なのでsshの設定を確認する必要があります。
~/.ssh にid_rsaとid_rsa.pubがあるか確認し、なければつくる
herokuにアプリケーションをデプロイする際にはgitを利用します。そのときgit はsshを用いてherokuに接続しようとするので、herokuに適切な公開鍵が登録されている必要があります。
通常は何もしなくても鍵の登録は行われるのですが、RSA鍵が~/.sshにない場合などは鍵の登録が行われていない状態になり、heroku apps:create などのAPIは正常に動作するものの、git pushが行えないことになります。
まずは、./ssh に id_rsa と id_rsa.pub があることを確認しましょう。ない場合は作る必要があります。ssh-keygen -t rsa コマンドで RSA鍵のペアを作成してください。
heroku に公開鍵を登録する
その後 heroku に公開鍵を登録します。heroku login でherokuのアカウントにログインした後heroku key:add で公開鍵を登録を行います。これでssh経由でherokuにアクセスできるようになったはずです。もう一度 git push heroku master をしてみてください。
うまくいきましたか??