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

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

More than 1 year has passed since last update.

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

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

chihiro
jrits
信頼と魅力のある先進のITをもとに、お客様のワークスタイル・イノベーションの実現を目指します。
http://www.jrits.co.jp/
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