Udemy 6. Heroku.ymlを使ったDockerデプロイ #01
2020年06月24日に公開

最初の一歩。Herokuへ新規会員登録を行いHerokuCLIをインストールする

このチャプターで達成すること

チャプター「Heroku.ymlを使ったDockerデプロイ」では、RailsとNuxt.jsを本番環境のHerokuにデプロイし、インターネット上にHelloを返すAPIアプリケーションを表示します。

このチャプターを通してDocker開発のデプロイのデプロイ手法を学びます。

Herokuへのデプロイ方法

Herojuへのデプロイ方法は、heroku.ymlファイルを使ってDockerイメージをビルドする方法を採用します。

この方法は、heroku.ymlに本番環境の設定さえ記述すれば、あとは通常のHerokuデプロイと変わらず、git経由でプロジェクトをプッシュします。

Docker環境のデプロイを簡単に行え、尚且つ運用も楽なのでおすすめです。

production image

それでは作業に入っていきましょう。

この記事で達成すること

この記事では、Herokuアカウントの作成HerokuCLIのインストールを行います。

HerokuCLIとは

Heroku Command Line Interface(ヘロク コマンド ライン インターフェイス)の略で、ターミナル上からHerokuの操作を行うことができるツールです。

Git経由でpushする場合は必須のツールなので必ずインストールしておきましょう。

Herokuにアカウントを作成する

それではまずアカウントの作成から。

https://signup.heroku.com/login

上のURLからサインアップページに行き、こんな感じで入力してください。

2020-06-23 22-04-41

  • First name … 名前

  • Last name … 名字

  • Email address … メール

  • Company name … 無記入でOK

  • Role … Herokuを利用する目的

    迷ったら、Hobbyist(趣味)、Professional Developer(プロフェショナル開発者)のどちらかでOK

  • Country … Japan

  • Primary development language … 今回はRubyを選択。(何でも良い)

  • Create Free Account」をクリック

Herokuから認証メールが届きますのでURLをクリックしてメール認証を完了します。

2020-06-23 22-14-03

続いてパスワードを設定します。

文字、数字、記号を含む8文字以上のパスワードを入力して次へ進んでください。

OK!!これでアカウントが作成できました。

Herokuにクレジットカードを登録する

このままでも使えるのですが、クレジットカードを登録しないと本人認証済とみなされないため、様々な制限かかかります。

クレジットカードを登録しておきましょう。


基本的にHerokuは月額プランなので、AWSのように勝手に課金されることはありません。(2020年6月現在)

最新の料金プランを確認する https://jp.heroku.com/pricing


ダッシューボードにログインして、

https://dashboard.heroku.com/apps

右上のユーザーアイコンから「Account Settings」へ移動します。

2020-06-25 08-00-05

Billing」タブへ移動します。

メニュー「Billing Information」よりクレジットカードを登録しましょう。

画像は登録済み

2020-06-25 08-06-16

OKですか?これで無料枠を目一杯使えるようになりました。

HerokuCLIのインストール

HerokuCLIはこちらのURLに記載されているコマンドでインストールします。

https://devcenter.heroku.com/articles/heroku-cli


macのインストールボタンが無くなったので、Homebrew経由でHerokuCLIをインストールします。

Homebrewのインストールがまだの方はこの記事を参考にインストールを完了してください。

【MacOS】Homebrew経由でGitをインストールする方法


どのディレクトリでも良いので、下記コマンドを実行します。

$ brew tap heroku/brew && brew install heroku

完了したらインストール確認をしておきましょう。

$ heroku -v

heroku/7.42.1 darwin-x64 node-v12.16.2

正常にインストールできた方はこのステップを飛ばしてください

筆者はすでにHerokuCLIをインストールしているのでエラーが出ました。😵

The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/heroku
Target /usr/local/bin/heroku
already exists. You may want to remove it:
  rm '/usr/local/bin/heroku'
  
# brew link` ステップは正常に完了しませんでした。
# 式は構築されていますが、/usr/local にシンボリックリンクされていません。
# bin/hoku をシンボリックリンクできませんでした。
# 対象 /usr/local/bin/heroku
# は既に存在しています。削除した方がいいかもしれません。
#  rm '/usr/local/bin/heroku'

なるほど、削除しろということですね。えいやっ!

$ rm '/usr/local/bin/heroku'

Homebrewに残ったHerokuも削除します。

$ brew uninstall heroku

削除できたか確認しときます。

$ brew list heroku

# OK
Error: No such keg: /usr/local/Cellar/heroku

もう一度インストールしてみます。

$ brew tap heroku/brew && brew install heroku

やった。正常にインストールできました。

$ heroku -v

heroku/7.42.1 darwin-x64 node-v12.16.2

ちなみに、ワンサカ出てくる英語はHerokuCLIのオートコンプリートを導入する方法です。

To use the Heroku CLI's autocomplete --
  Via homebrew's shell completion:
    1) Follow homebrew's install instructions https://docs.brew.sh/Shell-Completion
        NOTE: For zsh, as the instructions mention, be sure compinit is autoloaded
              and called, either explicitly or via a framework like oh-my-zsh.
    2) Then run
      $ heroku autocomplete --refresh-cache
...

HerokuCLIのオートコンプリートとは、Tabキーを押したときにコマンドの補完をしてくれる機能です。

ここでは導入しませんが、必要な方はこの記事のインストール手順を参考にすると良いでしょう。

Heroku CLIオートコンプリート - Heroku

今回はここまで。

今回のまとめ

今回はHerokuにアカウントを作成し、HerokuCLIをインストールしていきました。

これでターミナル上からHerokuが操作できるようになります。

次回より

次回はWebサーバPumaのセッティングなど、Railsデプロイの事前準備を行います。

やることいっぱいですが、一つ一つ進んでいきましょうね。

⬇️次の記事へGO-。

あなたの力になれること
私自身が独学でプログラミングを勉強してきたので、一人で学び続ける苦しみは痛いほど分かります。そこで、当時の私がこんなのあったら良いのにな、と思っていたサービスを立ち上げました。周りに質問できる人がいない、答えの調べ方が分からない、ここを聞きたいだけなのにスクールは高額すぎる...。そんな方に向けた単発・短期間メンターサービスを行っています。下のサービスへお進みください。
独学プログラマのサービス
次の記事はこちら
1. このカテゴリーの歩き方 #01
【お知らせ】UdemyでRails × Nuxt.jsの動画を公開することになりました
1. このカテゴリーの歩き方 #02
【随時更新】このカテゴリーで作るアプリケーションの仕様書
1. このカテゴリーの歩き方 #03
【随時更新】このカテゴリーの歩き方
1. このカテゴリーの歩き方 #04
(Docker+Rails6+Nuxt.js+PostgreSQL)=>Heroku 環境構築~デプロイまでの手順書
2. Docker入門 #01
Docker for Macをインストールする手順
2. Docker入門 #02
分かるDocker解説。仮想環境・コンテナ・Dockerイメージ・Dockerfileとは何か?
2. Docker入門 #03
分かるDocker解説。DockerComposeとは何か?
3. Dockerを使ったRails+Nuxt.js環境構築 #01
【Docker+Rails6+Nuxt.js】今回作成するアプリの開発環境の全体像を知ろう
3. Dockerを使ったRails+Nuxt.js環境構築 #02
【MacOS】Homebrew経由でGitをインストールする方法
3. Dockerを使ったRails+Nuxt.js環境構築 #03
Rails6を動かすAlpineベースのDockerfileを作成する(AlpineLinuxとは何か)
3. Dockerを使ったRails+Nuxt.js環境構築 #04
Nuxt.jsを動かすAlpineベースのDockerfileを作成する(C.UTF-8とは何か)
3. Dockerを使ったRails+Nuxt.js環境構築 #05
.envファイルを使ったdocker-compose.ymlの環境変数設計
3. Dockerを使ったRails+Nuxt.js環境構築 #06
Rails6・Nuxt.js・PostgreSQLを動かすdocker-compose.ymlファイルを作成する
3. Dockerを使ったRails+Nuxt.js環境構築 #07
docker-compose.ymlを使ってRails6を構築する(PostgreSQLパスワード変更方法)
3. Dockerを使ったRails+Nuxt.js環境構築 #08
docker-compose.ymlを使ってNuxt.jsを構築する
4. 複数プロジェクトのGit管理 #01
複数プロジェクトで行うGit管理の全体像を理解しよう(Gitサブモジュール解説)
4. 複数プロジェクトのGit管理 #02
【Git】既存の子ディレクトリをサブモジュール管理に変更する手順
4. 複数プロジェクトのGit管理 #03
【GitHub】秘密鍵の生成・公開鍵を追加・SSH接続するまでを画像で分かりやすく
4. 複数プロジェクトのGit管理 #04
【GitHub】リモートリポジトリの追加・サブモジュールのリンク設定を行う
5. RailsAPI×Nuxt.js初めてのAPI通信 #01
【Rails6】"Hello" jsonを返すコントローラを作成する
5. RailsAPI×Nuxt.js初めてのAPI通信 #02
【Nxut.js】axiosの初期設定を行う(baseURL・browserBaseURLを解説)
5. RailsAPI×Nuxt.js初めてのAPI通信 #03
【Rails6】Gem rack-corsを導入してCORS設定を行う(オリジン・CORSとは何か)
6. Heroku.ymlを使ったDockerデプロイ #01
最初の一歩。Herokuへ新規会員登録を行いHerokuCLIをインストールする
6. Heroku.ymlを使ったDockerデプロイ #02
heroku.yml解説編。Docker環境のRails6をHerokuにデプロイする(1/2)
6. Heroku.ymlを使ったDockerデプロイ #03
HerokuCLI-manifestのデプロイ解説編。Docker環境のRails6をHerokuにデプロイする(2/2)
6. Heroku.ymlを使ったDockerデプロイ #04
Dockerfile解説編。Docker環境のNuxt.jsをHerokuにデプロイする(1/2)
6. Heroku.ymlを使ったDockerデプロイ #05
デプロイ完結編。Docker環境のNuxt.jsをHerokuにデプロイする(2/2)
7. モデル開発事前準備 #01
【Rails6】application.rbの初期設定(タイムゾーン・I18n・Zeitwerk)
新着
SPA開発
ブログ構築
小ネタ集