DK’s diary

プログラミング初学者による発信

Capistranoによる自動デプロイ設定後に環境変数が読み込まれない件

Caspitranoでデプロイの自動化をすると、~/.bash_profileが読み込まれない

Caspitranoは自動デプロイツールの一種であり、
これを利用することによって、デプロイ時に必要なコマンド操作が1回で済むようになります。

先日個人のアプリを本番環境にデプロイ後、
アップデートを容易に行えるようにCaspitranoを導入しました。
導入後、本番環境のページを確認するとGoogleマップを表示させるページでエラーが発生。(泣)
ログを確認したところAPIキーが読み込まれていなかった。
確かに ~/.bash_profileに書いたはずなのですが。。。

色々調査をしてみると、
Caspitaranoを使用する本番環境では~/.bash_profileは読み込まれないとのこと。


対処法

Capistranoは、~/.bash_profileを読み込まないようにプログラムされているのでetc/environmentを使用します。

# 環境変数書き込み
$ sudo vim /etc/environment

ここに環境変数を記述すればOKです!
この後、環境変数を反映させるために一度接続を切ってから確認します。

# 接続を切断
$ exit
# EC2インスタンスに接続
$ ssh -i ...
# 環境変数が設定できているかの確認
$ env | grep ...