Webアプリケーション開発をしていたり、RailsTutorialをやっていたりするとサーバーとしてHerokuが登場しますが、登録方法や使い方についてもっと詳しく知りたくはないですか?
Herokuをマスターすると、大抵のアプリケーションは簡単にリリースや保守できるようになります。
この記事ではHerokuの登録方法や使い方について解説していきます。
より実践的なHeroku-CLIに関しても説明をしているので、Herokuをマスターしたい人は確認してください!
こんな人におすすめです!
- Herokuの使い方が理解できていない人
- Heroku-CLIの使い方が理解できていない人
- HerokuやHeroku-CLIのさまざまな使い方が知りたい人
Contents
Herokuの登録方法
Herokuのユーザー登録はサイトから簡単に行えます。
以下の手順に従って登録しましょう。
- STEP1ユーザーの新規登録をする
こちらのサイトにアクセスし、右上の新規登録を押します。
- STEP2アカウントを作成する。
入力欄が出てくるので、必要な情報を記入して、一番下のアカウント作成を押します。
入力フォームは基本的には何を入力しても大丈夫なのですが、主な開発言語は気をつけるようにしましょう。
こちらはサーバーを作成した際にデフォルトの言語として使用されます。ここで選択したもの以外の言語をリリースする場合、サーバーに使用言語の設定(buildPackの追加)を行う必要が出てきます。
完了すると、下記のような画面に遷移します。
- STEP3メール認証を完了する
メールボックスを確認して、リンクを踏むとパスワードの設定画面が出てくるので設定して完了します。
完了すると、以下の画面に遷移します。
ここをクリックして次に進んでくださいを押すと、ログイン画面に遷移します。
Herokuのリリース方法
HerokuにコードをあげるにはHeroku-CLIという専用のコマンドラインツールを使用する必要があります。
コマンドラインツールとはターミナルから打てる専用コマンドをまとめたものです。
ここではHeroku-CLIをインストールして、コードをアップしてみましょう。
Heroku-CLIのインストール
こちらのサイトに遷移して指定の方法でインストールすることができます。
1番のおすすめはhomebrewによるインストールです。
homebrewをインストールしていない人は、ターミナルを開いて事前に以下のコマンドを実行しましょう。
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
上記コマンドが実行できた人、既にhomebrewがインストールできている人は以下のコマンドを実行すれば完了です。
1 |
brew tap heroku/brew && brew install heroku |
以下のコマンドを実行して、バージョン情報が表示されたらインストールされていることが確認できます。
1 |
heroku -v |
OSによってうまくいかない場合は上記サイトのその他のHeroku-CLIのインストール方法を試すことでも解決することができます。
Herokuにリリースする。
必要なもの
・git
Herokuにリリースする際にはgitが必要です。
gitをインストールできていない人はgitのインストールをしましょう。
上記のHeroku-CLIの時にHomebrewをインストールできていると思うので、下記コマンドでgitを使用できるようになります。
1 |
brew install git |
それでは、gitとHeroku-CLIが揃ったと思うので、ここからは実際にサーバーにリリースしていきます。
- STEP1Heroku上にサーバーを作成する。
まずはHerokuにログインして、ダッシュボードを表示します。(初回ログイン時に2ファクター認証を求められた場合は、こちらのアプリをインストールして対応します。)
ページ右上のNewから「Create new app」を選択します。
- STEP2サーバーを作成する
支払い方法を設定していないと思うので、まずはHerokuのAdd Payment Methodからリンクを辿り、
一番上のAdd Creditcardで支払い用のクレカ番号を入力しましょう。
昔は支払い情報が必要なかったのですが、サーバー有料化に伴って、支払い方法を登録する必要が出てきたようですね。
FreeのDyno(サーバー)やプラグインだけなら請求されないので、入れておきましょう。
App nameにアプリ名/サーバー名を記入してCreate appを押します。
アプリ名はHerokuサービスの利用者が同名のサーバーを作っていると作れないので、注意しましょう。
- STEP3Heroku git URLを取得する
作成が完了するとアプリのダッシュボードが開かれます。
- STEP4Heroku git URLをリモートリポジトリに追加する
ダッシュボードから、Setting>Heroku git URLに記載のあるURLをメモしておきます。
ターミナルを開いて、コードをプッシュするトップディレクトリで以下のコマンドを打ちましょう。
1git remote add heroku https://~~~(Heroku git URL) - STEP5コードをプッシュする前のひと準備
Herokuの仕様では、Procfileというファイルが含まれていないとサーバーを自動で作成してくれません。
Procfileというファイルを作成し、中身に以下のように記入しましょう。
1web: npm run startpackage.jsonを開き、scriptsの箇所に以下のように記入します。
1"start": "echo hello" - STEP6herokuにプッシュする
ここまででいよいよ全ての準備が揃いましたので、herokuにpushしていきましょう。
初回のみ事前に
1heroku loginを実行しておいてください。
それでは、プッシュに移ります。
herokuにプッシュするコマンドはgit push heroku masterのコマンドだけです。
変更差分をgitでコミットしてからプッシュすることでサーバーにリリースすることができます。
1234567//gitで変更を保存するコマンド。initは初回のみgit init //git の初期化git add --all //全てをステージング状態にするgit commit -m "my first commit" //コミットする//ここからherokuにリリースするコマンドgit push heroku master //herokuにプッシュする
Herokuの使い方
Herokuではダッシュボードを通じて以下の設定をすることが可能です。
サーバー管理に必要な機能をサーバーの中に入って設定するのではなくてダッシュボードで経由で設定することができます。
概要 | |
Overview | メトリクスやインストールしているアドオン、リリースのログなど、アプリの全体的な状況を確認することができます。アドオンを追加したり、状況を見極めてサーバーのスペックをあげたりすることができます。 |
Resources | Dynoやadd-onを確認することができます。 |
Deploy | GitHubとの接続やパイプラインの追加などをすることができます。 |
Metrics | Dynoのサイズ、メモリー使用状況、応答時間などを確認することができます。 |
Activity | プッシュの履歴が表示されます。 |
Access | そのHerokuのプロジェクトにアクセスすることのできる人を管理することができます。 |
Setting | ドメインの変更、SSL証明書の管理、HerokugitURLの確認、環境変数の設定、メンテナンスモード、アプリの削除など各種設定を行うことができます。 |
Heroku-CLIのコマンド一覧
Heroku-CLIでは以下のコマンドを使用することができます。
また、コマンドに-a="アプリ名"をオプションでつけることで特定のアプリを指定して実行することもできますよ。
コマンド | 内容 |
access | アプリにアクセス権を持つ人を表示 |
addons | アドオンやアタッチメントを表示します。 |
apps | アプリの一覧を表示します。 |
authorizations | Oauth認証のリストを表示します。 |
autocomplete | 自動インストールが完了したものを表示します。 |
buildpacks | アプリに付与されているビルドパックを表示します。 |
certs | SSL証明書を一覧表示します。 |
ci | 特定のパイプラインに対して直近実行されたCIを表示します。 |
clients | OAuthのクライアント一覧を表示します。 |
commands | コマンド一覧を表示します。 |
config | コンフィグ変数を表示します。 |
container | Herokuアプリをビルドするのにコンテナを使用します。 |
domains | アプリのドメイン一覧を表示します。 |
drains | 廃棄ログ一覧を表示します。 |
features | dnsやtlsなどの設定を確認することができます。 |
help | ヘルプを表示します。 |
join | チームのアプリに参加します。 |
keys | SSHキーを表示します。 |
labs | 外部による設定を確認することができます。 |
leave | アプリから自分を削除します。 |
local | Herokuアプリをローカルで実行します。 |
lock | 他のユーザーが自由にサービスに参加することを防ぎます。 |
logs | ログを出力させます |
maintenance | メインテナンスステータスを表示します。 |
members | チームメンバーを表示します。 |
notifications | 通知を表示します。 |
orgs | 自分が参加しているチームの一覧を表示します。 |
pg | データベースの情報を表示します。 |
pipelines | アクセス権のあるパイプラインの一覧を表示します。 |
plugins | インストール済みのプラグインを表示します。 |
ps | dynoの一覧を表示します。 |
psql | psql shellを開きます。 |
redis | redisに関する情報を取得します。 |
regions | デプロイすることができるregionの一覧を取得することができます。 |
releases | アプリへのリリース一覧を表示します。 |
run | heroku dyno上でのプロセスを起動します。 |
sessions | 自分のOAuthSessionを確認することができます。 |
spaces | 使用することのできるスペースを確認することができます。 |
status | herokuの状態を取得することができます。 |
teams | 自分が所属しているチームを所属することができます。 |
trusted-ips | 信頼できるIPアドレスの範囲を設定することができます。 |
unlock | アプリに全てのチームメンバーが参加できるようにします。 |
update | heroku-CLIをアップデートします。 |
webhooks | webhookの一覧を表示します。 |
which | どこのプラグインが入っているかを確認することができます。 |
参考までに実運用でよく使うのは
・logs
・run
をよく使うかと思います。
heroku logs -a='アプリ名' --tailで特定のアプリのログを見ることができます。
heroku run basu -a='アプリ名'でサーバーに直接入って作業することができるようになりますよ。
中級者になるためにはこれらのコマンドも覚えておきましょう。