【herokuコマンド】createからdestroyまで


herokuへアプリをデプロイするところから、アプリを削除するところまでをまとめます。

前提

  • Herokuのアカウント作成が完了していること
  • 開発環境でherokuコマンドを使用できる状態になっていること
  • 開発環境でgitが使用できる状態になっていること

デプロイするアプリを作成する

デプロイするアプリを作成します。
今回はherokusampleというフォルダを作成し、そこにソースコードを置きます。
Node.js + expressで動きます。

デプロイするアプリをgitで管理する

herokusampleフォルダ以下をgit管理します。

cd herokusample
git init
git add .
git commit -m "first commit"

Heroku上でアプリを動かす準備をする

使用した言語やアプリによって変わってきます。
今回はNode.jsの場合について書きます。

Procfile(拡張子なし)を作成します。
このファイルがあることによって、nodeの起動コマンドをheroku上で実行できます。

web: node index.js

webというkeyに対して、アプリを起動するコマンドを書きます。
(index.jsから起動できるとします。)
(上記もgitでコミットしておきます。)

以下(公式)に、各々の言語ごとのデプロイ方法が書いてあります。
https://devcenter.heroku.com/

Heroku上にアプリを作成する

ここまでで、デプロイするアプリの準備が完了しました。
以下のコマンドでHeroku上にアプリを作成します。

$ heroku create
Creating app... done.
# アプリのURL等も表示されます

heroku create アプリ名でアプリ名を指定することもできます。
アプリ名を指定しないと、自動的にアプリ名が付けられます。(あとで変更可能です)

これでHeroku上にアプリができました。
あとはデプロイです。

ちなみにheroku createを実行した時点で、リモートリポジトリにherokuのリポジトリが登録されます。
ここにプッシュすると、アプリがデプロイされます。

$ git remote
origin
heroku

アプリをデプロイする

gitを使ってアプリをデプロイします。

$ git push heroku master

heroku上のmasterブランチにデプロイされると、アプリが動きます。
(上記のアプリはmasterブランチでコミットしていることとします)

push時のログにあるURLを開く、もしくは以下のコマンドでアプリを開くことができます。

$ heroku open

以上が、Heroku上でアプリを動かすためにすることです。

アプリを更新する

アプリを更新し、gitでコミットします。
上記と同じように、herokuリポジトリへpushすることで、アプリが自動的に更新されます。

$ git push heroku master

アプリを削除する

使わなくなったアプリを削除します。方法は2通りあります。

Heorkuから消す(Web)

https://id.heroku.com/login にアクセスし、ログインします。
消したいアプリを選択し、「Settings」タブの一番下に、アプリの削除の項目があります。
「Delete app...」ボタンを選択すると、確認のためにアプリ名の入力を求められます。
アプリ名を入力して、実行するとHeroku上からアプリを削除することができます。

ですが、もう一つやることがあります。
gitのリモートリポジトリにherokuが設定されたままになっているので、これを消す必要があります。

$ git remote rm heroku

これですべての環境がきれいになりました。

herokuコマンドで消す

herokuコマンドを使って消すこともできます。
herokuコマンドを使用すると、Heroku上のアプリもリモートリポジトリの設定もすべて消してくれます。

$ heroku apps:destroy --app アプリ名

(heroku apps:infoでアプリ名を確認できます。)
上記のapps:destroyを実行すると、確認のためアプリ名の入力を求められます。
アプリ名を入力して実行すると、アプリが削除され、リモートリポジトリの設定も削除されます。

--confirm アプリ名を付けて実行すると、アプリ名の入力は求められません。

$ heroku apps:destroy --app アプリ名 --confirm アプリ名

以上でアプリを削除することができました。