はじめに
本稿は、わたし含め、環境設定が不慣れな方向けにまとめました。
環境変数とは?
環境変数とは、OSが提供するデータ共有機能の一つです。
主に『コードに直接書くことが良くない』とされるデータは、環境変数として設定します。
(例)外部APIの公開鍵・秘密鍵、master.keyなど
環境変数は、どのディレクトリ・ファイルからも参照することができ、開発環境・本番環境それぞれで設定が必要です。
注意点
1.MacのOS
今回、Catalinaでの作業になります。
OSごとに設定方法が変わるみたいなので、Catalina以外の方はごめんなさい><
2.開発環境と本番環境で、使うコマンドが異なります。
どちらもターミナル上で行いますが、設定で使うコマンドが異なります。
どの環境における設定なのか、確認しましょう。
設定方法
〜 開発環境 〜
# ターミナルで以下のコマンドを実行
% vim ~/.zshrc
# iを押してインサートモードに移行 (入力待ちの画面になる)
# デフォルトの記述は消さず、末尾に変数情報を追記 (export 環境変数='値')
% export PAYJP_PUBLIC_KEY='pk_test_************'
# escキーを押してから:wqと入力すると、保存が完了
# 編集した.zshrcを読み込み直して、追加した環境変数を使えるようにする
% source ~/.zshrc
# コンソールで確認する
rails c
# (ENV[変数名])を実行し、値が出てきたら設定OK
[1]pry(main)> ENV[PAYJP_PUBLIC_KEY]
=>'pk_test_************'
〜 本番環境 〜
※ アプリ情報をHerokuへプッシュする前に設定すること!!
※ 今回は、Herokuにアプリを作成し、プッシュする前段階を想定しています。
# ターミナルからHerokuへログイン
% heroku login --interactive
# ログイン後、以下のコマンドを実行 (heroku config:set 環境変数='値')
% heroku config:set PAYJP_PUBLIC_KEY='pk_test_*************'
# 以下のコマンドで確認し、変数名と値が両方出てきたらOK
% heroku config
PAYJP_PUBLIC_KEY: 'pk_test_*************'
おわりに
明日からポートフォリオ制作に入るにあたり、自分が不安なところをまとめました。
もし認識のズレや、記述の仕方に違和感がありましたら、ご指摘いただけますと幸いです><
引き続きがんばります!