Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

まとめ

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

fuwamaki
iOS開発をメインにしつつ、AndroidやRubyなどもつまみつつ。
http://fuwamaki-blog.herokuapp.com/
street-academy
教えたいと学びたいをつなぐまなびのマーケット「ストアカ 」を運営するスタートアップ
https://www.street-academy.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした