Heroku

Herokuを使いこなすのに必要な術

herokuとは、簡単に言うと クラウド上のサーバの一種 です。

Webサイトを立ち上げようと思うと、自身でサーバをたてて設定しないといけませんが、

herokuを利用すると、簡単にサーバをたてられて、Webサイトを作れます。

厳密には、PaaS(Platform as a Service: アプリケーションを実行するためのプラットフォームをインターネットを介して提供するサービス)の一種です。

サーバやOS、データベースなどのプラットフォームを、インターネットを介して利用することができます。

herokuの一番良いところは、ほぼ 無料 で使える点です。

プライベートで利用する分には無料プランで十分済むので、

自分はプライベートでよく使っています。

この記事ではherokuを使いこなす術をいくつか紹介します。


開発環境


  • OS: MacOS v10.13

  • Terminal: iTerms

  • Shell: zsh

クラウド環境(herokuマイページ)と、

ローカル環境(Terminal)の操作がメインとなります。


始める前に

Herokuに新規登録・ログインする必要があります。

https://signup.heroku.com/

クレジットカード情報の登録が必須みたいですが、

プランを切り替えない限り無料で問題なく利用できます。

アクセス数が多くなるものを作りたい場合は、有料プランの方が良いかもです。

詳しくはこちら


ログイン

ローカル環境で、herokuにログインします。

$ heroku login

メールアドレスとパスワードを聞かれるので、入力してログイン完了。


アプリケーションの作成

ローカル環境でheroku上にアプリケーションを作成します。

作成したアプリケーションはダッシュボード一覧に載ります。

$ heroku create

上記コマンドでも作成可能ですが、アプリケーション名がランダムになります。

アプリケーション名を指定したい場合は、名前を指定しましょう。

$ heroku create アプリケーション名


デプロイ

ローカルで作成したコードをheroku上にデプロイします。

htmlファイルをデプロイすれば、

https://アプリケーション名.herokuapp.com/ 上でページが開けるようになります。

$ git push heroku master


git管理しているコードをデプロイする場合

上記のデプロイでも問題ないですが、

herokuアプリケーションと、対象のgitリポジトリを紐付けてあげれば、

git pushするだけで、自動的にデプロイするように設定できます。

herokuアプリのDeployタブで、上記のように

gitリポジトリ紐付け・Automatic deploysを設定すれば実現できます。


herokuにアップしたアプリをブラウザで開く

herokuサイト上の Open App ボダンでも開けますが、

ローカルからだと下記コマンドで開けます。

$ heroku open

$ heroku open -a アプリケーション名 #App指定する場合


環境変数の確認・追加

いわゆるconfigです。herokuアプリのSettingタブのConfig Vars

からも確認できますが、ローカルに出力することもできます。

$ heroku config

追加も同様、herokuアプリのSettingタブのConfig Varsからもできます。

ローカルからのコマンドで行う場合は下記です。

$ heroku config:set NAME='xxxxxxxxxx'


ツールを追加・確認

herokuサーバだけではシステム構築の幅が広くはないです。

DBなどのツールを利用したいときは、 addon することができます。

例えばClearDBをaddonしたい場合は下記です。

$ heroku addons:create cleardb:ignite

追加したaddonは下記コマンドで一覧を確認できます。

また、herokuアプリのOverviewタブでも確認できます。

$ heroku addons


ログを確認

デプロイ時のログをターミナル上に表示できます。

$ heroku logs

リアルタイムで見ることもできます。 --tail-t も同じです。

$ heroku logs -t

$ heroku logs --tail


ステータスの確認

今Sleepモードなのかどうかなど、サーバ状態などの確認をすることができます。

$ heroku ps


ドメインの確認

今どのドメインが振られているかの確認です。

$ heroku domains


アプリケーション一覧を確認

ダッシュボード一覧で確認できます。

また、ローカルから下記コマンドで確認できます。(どちらでも可)

$ heroku apps

$ heroku list


herokuアプリケーションが2つ以上ある場合

基本的に $ heroku create コマンドを実行したPC且つ階層であれば、

対象のherokuアプリケーションが設定されています。

ただ別PCなどから、既存のherokuアプリケーションを利用したい場合、

対象のherokuアプリケーションが設定されていません。

その際は、指定することができます。config確認の場合は下記。

$ heroku config --app アプリケーション名

ただ、どのコマンドにも --app アプリケーション名 を付けないといけないので、

面倒なやり方ではあります。


herokuにコマンドを実行

heroku上のデータベースを設定したいときの場合など、

herokuにコマンドを実行してあげる必要があります。

$ heroku run コマンド

でローカルから実行できます。

またこれは、herokuアプリ上でも Run Console があり、そこに直接

$ コマンド

しても同様にコマンド実行ができます。


herokuAppの名前を変更

HerokuAppのnameを変更することができます。

Heroku管理画面でも変更はできますが、オススメしません。

デプロイコマンドに --app NewName を毎回付けないといけなくなるので。

herokuAppのディレクトリroot階層で変更します。

$ heroku rename NewName

herokuAppのディレクトリ外で変更する場合はコマンドは下記。

$ heroku rename NewName --app OldName


ログアウト

ローカル環境でログアウトしたい場合は下記コマンド。

$ heroku logout


まとめ

まだまだたくさんあると思うので、都度更新していきます。