Edited at

【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 アプリ名

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