#はじめに
プログラミング初心者のメモ。
Herokuでデプロイしてみた覚書。
#手順 ーはじめてデプロイをする場合
- Herokuにアカウント登録する
- Heroku CLIをインストールする
- 必要なGemを導入する
- masterブランチへcommitする
- Heroku上にアプリケーションを作成する
- MySQLを使用できるように設定する
- master.keyを環境変数として設定する
- Herokuへアプリケーションの情報をpushする
- Heroku上でマイグレーションを実行する
#手順 ーデプロイ済みのアプリケーションに変更修正を加えた場合
- 変更修正をcommitする
- ブランチを作成していた場合は、masterブランチへマージする
- Heroku上にpushする
- (テーブルに変更を加えた場合は)Heroku上でマイグレーションを実行する
#Basic認証を導入する
- アプリケーションコントローラーのprivateメソッドに以下のように記述
ruby.application_controller.rb
class ApplicationController < ActionController::Base
before_action :basic_auth
(省略)
private
def basic_auth
authenticate_or_request_with_http_basic do |username, password|
username == 'admin' && password == '2222'
end
end
end
- 挙動確認後、ユーザー名、パスワードを環境変数につっこむ
% vim ~/.zshrc
# .zshrcの内部に次の記述を追加
export BASIC_AUTH_USER='admin'
export BASIC_AUTH_PASSWORD='2222'
# 記述を追加したら、escキーを押してインサートモードを抜け、「:wq」と入力して保存して終了する
# .zshrcを再読み込みし、定義した環境変数を有効にする
% source ~/.zshrc
- アプリケーションコントローラーの記述も環境変数に変更する
ruby.application_controller.rb
class ApplicationController < ActionController::Base
before_action :basic_auth
(省略)
private
def basic_auth
authenticate_or_request_with_http_basic do |username, password|
username == ENV["BASIC_AUTH_USER"] && password == ENV["BASIC_AUTH_PASSWORD"] # 環境変数を読み込む記述に変更
end
end
end
- Heroku上に環境変数を設定する
% heroku config:set BASIC_AUTH_USER="admin"
% heroku config:set BASIC_AUTH_PASSWORD="2222"
#ターミナル上で正しく設定されているか確認する
%heroku config
#以下のように表示されれば成功
=== stormy-journey-22625 Config Vars
BASIC_AUTH_PASSWORD: 2222
BASIC_AUTH_USER: admin
- 変更したコードをgitにコミットし、Herokuへデプロイする
% git add .
% git commit -m “Basic認証を導入”
% git push heroku master