もう一年くらい前、Herokuっておもしろそうと思ってアカウントをつくったり入門書を読んでみたりしたのですが、当時Gitとかコマンドラインの使い方とかもよくわかっていなかったため、環境構築の時点で挫折。
他に勉強したいこともあったのでまた今度にしようと思って気がつけば一年過ぎていたのですが、先日発売されたHeroku入門書を読んでもう一度勉強したくなりました。
久しぶりにHerokuにログインしてみると以前ログインしたときとガラリと雰囲気が変わっていました。話だけは聞いていたのですが、2014年8月5日頃に公開された新しいダッシュボードのベータ版とのことです。
いろいろ覗いていたらPersonal AppsにGetting Started with Herokuのメニューがありました。以前、Getting Startedを見てみた時は良く理解できなくて諦めたのですが、あれからMac OSXの作業環境も用意して、Gitの使い方なども少し勉強したので、ちょっと興味のあったNode.jsで再挑戦してみることにしました。
Node.jsのリンクから先に進むと次のページが表示されます。左側のメニューに記載された流れで進めていくみたいです。
最初のページのIntroductionにはHerokuアカウントとNode.jsの開発準備ができていることが前提だよ。というようなことが書いていました。
Node.jsを使った開発はしたことがないのですが、インストールだけはしてみたことがあったので準備はOK。インストールしているバージョンはv0.10.28です。公式サイトを確認したらv0.10.32まで公開されていたのですが、今回はこのまま進めることにします。
ここまでは問題なさそうなので、I'm Ready to Startボタンから先に進んでみました。
Set up
まずはSet upからです。コマンドラインでHerokuコマンドを実行できるようにするHeroku Toolbeltをインストールします。Downloadボタンからインストーラをダウンロードして簡単にインストールできました。
これでHeroku Loginコマンドが実行できるようになります。ターミナルからサンプルを参考に試してみたところ問題なくログインできました。正しくログインできれば「Authentication successful.」と表示されるみたいです。
SSH Keysの設定の部分がよく分からなかったのですがとりあえず、I have installed the Toolbeltボタンで次に進みます。ちなみにReport a Problemボタンはフィードバック用のボタンみたいです。
Prepare the app
git cloneコマンドでサンプルアプリをローカルの作業フォルダ内に準備できます。作業用にherokuフォルダを作成したのでcdコマンドでフォルダ内に移動して実行してみました。
すると「管理者権限がないよ」的なエラーメッセージが...
Macではsudoをつけると管理者権限で実行できるので、それをつけていないことによるエラーかなと思い、sudoをつけてもう一度。
「Xcodeのライセンスに同意していないので実行できません。」というエラーメッセージになりました。iOSアプリの開発はまだやったことがなかったのでXcodeも使っていませんでした。
Xcode起動してみるとライセンスの同意画面が表示されたので、Agreeボタンで進めてみます。
画面に従って操作していけば問題なくインストールできました。
一度ターミナルを再起動しようと操作したらこんなメッセージが表示されました。
ターミナルからそのまま同意などができたみたいです。ターミナルを再起動してHeroku Loginコマンドでログインしてからgit cloneコマンドを実行。今度はうまく実行できました。
作業用のherokuフォルダを覗いてみると必要なファイル一式が作成されています。
ちょっとしたトラブルがありましたが、Heroku StartedページのPrepare the appの内容はうまくいきました。続きのcd node-js-getting-startedを実行してからMy App is Readyボタンで先に進みます。
Deploy the app
いよいよHerokuにデプロイしたりするみたいです。
パスがnode-js-getting-startedフォルダ内になっていることを確認してheroku createを実行。これでHerokuにデプロイする準備ができるみたいです。
heroku createコマンドで作成された名称は自動生成されてつけられたもので変更もできるみたいです。今回はひとまずそのままで次に進むことにしました。git push heroku masterでデプロイを実行します。
ここでエラーが発生しました。
調べてみたらgit remote -vで表示される内容が何かおかしい感じ...
・
・
・
いろいろ試してみたのですが解決できなかったので、こういう時は全部消してもう一度最初から。
①Herokuにログインしてsshの設定。2)を選択。
②heroku keysコマンドでsshキーが設定できていることを確認。
③git cloneコマンドを実行。
④heroku createコマンドを実行
⑤heroku remote -vコマンドを実行して正しく設定できていることを確認。
⑥git push heroku masterコマンドを実行
ということで...できました!やっぱりsshの設定の部分ができていなかったみたいです。かなりハマりましたが正しく進めれば設定からデプロイまですごく簡単にできました。git pushもうまくいったので続きを進めます。
⑦heroku ps:scale web=1コマンドを実行
⑧heroku openコマンドを実行
Hello Worldが表示されました!!
Herokuコマンドをつかったデプロイまで無事に成功しました。あとはNode.jsの勉強をすればいろいろ楽しいことが出来そうです。
Getting Started with Herokuのメニュー的にはまだ先がありますが、Herokuへのデプロイの方法もようやく理解できたので今回はここまでにします。