LoginSignup
2
0

More than 3 years have passed since last update.

【CircleCI】Run rspecテスト失敗から解決に向けて設定した環境変数(2/2)

Posted at

問題

ローカルでは問題なくパスするテストが、CircleCIでのRun rspecでエラーとなった。

前回、

  • .circleci/config.ymlへの設定
  • Dockerfile.devへの設定
  • docker-compose.ci.ymlへの設定

といった設定を行った、こちらの続き

CircleCI管理画面より設定

Settings >user_name >app_name > Environment Variables

  • HEROKU_API_KEY
  • RAILS_MASTER_KEY

を追加

デプロイされたアプリの確認

HerokuアプリのURLは、CircleCIの、heroku_deployの、
image.png

heroku_deployの部分をクリックして、
image.png

実行項目の中の、Deployの中の下の方にある。

現在の環境では、CircleCIでデプロイが完了するたびに、新しいアプリがheroku上に作成されるよう、.circleci/config.ymlに設定されている為、こちらで確認するようにしている。

image.png

次は、herokuにデプロイしたアプリが表示されない、、

よしログを確認しよう。

CircleCIを使用していない場合は、Herokuの、

スクリーンショット 2020-05-03 23.21.51.png

こちらから確認するが、

CircleCIを使用している場合は、先程のCircleCIのheroku_deployの下に、

Run post-deploy tasks、という項目があるので、こちらから確認できる。

image.png

内容を確認すると、

undefined method `[]' for nil:NilClass (NoMethodError)

該当のファイルの5行目を確認すると、環境変数を呼び出している行であることがわかる。

Herokuの環境変数確認・登録

heroku上に登録する環境変数

ターミナルで確認

$ heroku config

登録のある環境変数一覧を確認。
RAILS_MASTER_KEY:
SECRET_KEY_BASE:

登録

$ heroku config:set 環境変数名=value

ちなみに、、
登録の削除は

$ heroku config:unset 環境変数名

ここまでで、無事にアプリを表示することができるようになった。
今回は、開発の途中でローカルにて、環境変数を設定し、管理をbash_profileからconfig/credentials.yml.encに変更した事と、変数の設定を後回しにして実装を急いでしまった事が原因でした。

これからは、環境変数を使用すると同時に、これらの登録を先に行い、デプロイまでが通過するか、確認するようにしたいと思います、、

また、ローカルではエラーが無くて、CircleCIやデプロイ後に動かない場合は、環境変数を真っ先に疑おうと思い始めました。

終わりに。

最後まで読んで頂きありがとうございます:bow_tone1:
転職の為、未経験の状態からRailsを学習しております。正しい知識を着実に身に着け、実力のあるエンジニアになりたいと考えています。継続して投稿していく中で、その為のインプットも必然的に増え、成長に繋がるかと考えています。
今現在、初心者だからといって言い訳はできないですが、投稿の内容に間違っているところや、付け加えるべきところが多々あるかと思いますので、ご指摘頂けると幸いです。この記事を読んで下さりありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0