こんにちは、だいきです。
プログミングをある程度マスターした人だと、「Heroku(ヘロク)」と呼ばれるサービスを一度は聞いたことがあるが、使い方がわからないという人がいるのではないでしょうか。
そこで今回は、「Heroku」とは何かと「Heroku」で実際にサービスをデプロイする方法について丁寧に解説していこうと思います。
この記事を読むと以下のようなことが分かるようになります。
「Heroku」とは、Webアプリケーションを簡単に公開するすることができるサービスで、「PaaS」のクラウドサービスの1つです。
「PaaS」は、「Platform as a Service」の略で読み方は「パース」と言い、主にサービス開発に利用されます。
PaaSは、サービスを提供するための環境がすでに整えられているので、プロダクトの開発に集中することができます。
「PaaS」について詳しく知りたい人は「クラウドサービスとは何か?PaaS/IaaS/SaaSの違いとは」の記事を参照してください。
「PaaS」と呼ばれるクラウドサービスは、複数ありますが、それぞれに特徴があります。ここでは「Heroku」の大きな特徴をご紹介しようと思います。
「Heroku」の大きな特徴としては、何と言ってもその手軽さです。コマンドだけで、Webアプリケーションを運用することができます。
例えば、
などなどもコマンド1つで実施することができます。
「アドオン」とは、様々な会社から提供/販売されている「Heroku」の追加機能です。
このようなインフラを簡単に構築することができるため、Webアプリケーションに集中することができ、より良いサービスを作ることができるようになります。
まずは、「Heroku」にアクセスしましょう。アクセスしたら、無料で新規登録のボタンをクリックしましょう。
ボタンをクリックすると、以上のような画面が表示されますので、必要項目を記入していきましょう。記入を全てしたら、無料アカウント作成をクリックしましょう。
作成に成功すると、以上のようなページが表示されます。メールが届くので、メールを確認してみましょう。
以上のようなメールが届くので、URLをクリックしましょう。
URLをクリックすると、以上のような画面が表示されますので、パスワードを入力していきましょう。入力が完成すると、「パスワードを設定しログインする」をクリックしましょう。
ログインに成功するとこようなページが表示されるので、「ここをクリックして次に進んでください」をクリックしましょう。これで、「Heroku」のアカウント作成は完了です。
Herokuでサービスを公開するには、PCに「Heroku」のアプリをインストールする必要がありあます。そこで、ここではアプリのインストールと設定について解説していきます。
ターミナルから以下のコマンドを実行しましょう。
$ brew installl heroku
これでターミナルで「Heroku」を操作することができるようになります。
次は、以下のコマンドを実行しましょう。
$ heroku login
コマンド入力に成功すると、アカウント作成時に登録したメールアドレスとパスワードを入力を求められるので、入力しましょう。これで、ターミナルとHerokuの紐付けが完了しました。
Herokuにログインすると、以下のようなページが表示されます。アプリを新しく作るためには、左側にある「create new app」というボタンをクリックしてください。
「create new app」をクリックすると、以上のような画面が表示されるので、App nameに自分が好きなアプリ名を記入して、「Create app」をクリックしましょう。
$ cd my-project/ $ git init $ heroku git:remote -a "先ほど作成したアプリ名"
以上のコマンドをターミナルで実行しましょう。これで、ターミナルと「Heroku」のアプリ連携は完了です。
$ git add . $ git commit -am "make it better" $ git push heroku master
以上のコマンドを入力するとことで、デプロイは完了となります。
DBを利用している場合は、以下のコマンドでdb:migrateを走らせます。
$ heroku run bundle exec rails db:migrat
最後に、デプロイが正しくなされているか実際にサイトをみていきましょう。サイトを見るには、以下のページの右上にある「Open app」をクリックして下さい。
以上が、「Heroku」でデプロイする方法でした。
「Heroku」は初心者の人にとって、設定に関する記事が英語ばっかりなので、難しいかもしれませんが、以上の通りにすることで、簡単にデプロイすることができるようになります。
以上、だいきでした。