LoginSignup
6
3

More than 3 years have passed since last update.

【credentials.yml.enc】CircleCIに環境変数を登録する

Posted at

credentials.yml.encとは

config/master.keyを使用して暗号化・複合される、アカウント名やパスワードといった環境変数を管理するファイル。

master.keyRails newした際にcredentials.yml.encと一緒に生成される。

config/master.keyはgitignoreに最初から追加されているので設定する必要はありません。

credentials.yml.encへの環境変数の登録

ターミナルで、

$ EDITOR=vim bin/rails credentials:edit

を行うと、このような内容がターミナルに表示される。

スクリーンショット 2020-04-25 23.01.11.png

ここに、追加で登録

(例)
my_app
  api_key: a1b2c3~~~
  api_secret: 4d5e6g~~~

すこし慣れてきたが、最初はこのvimの操作にかなり癖を感じる。

  • iを押して挿入モード、追加入力
  • escでノーマルモードに戻す
  • ノーマルモード時に:wqで保存して終了
  • ノーマルモード時にddで1行削除
  • $で末尾に移動 などなど、、

rails consoleで確認

Rails.application.credentials.my_app[:api_key]
等で登録が確認できる。

CircleCIへの登録

スクリーンショット 2020-04-26 0.24.21.png
この左側のJOBSをクリック

スクリーンショット 2020-04-26 0.24.54.png
この歯車をクリック

スクリーンショット 2020-04-26 0.29.17.png
このEnvironment Variablesをクリック

スクリーンショット 2020-04-26 0.29.17.png
Add Variableをクリック
NameにRAILS_MASTER_KEY
Valueにconfig/master.keyの文字列

このRAILS_MASTER_KEYをCircleCIに登録すると、

API_KEY = Rails.application.credentials.my_app[:api_key]

このような記述があれば、credentials.ymlをRAILS_MASTER_KEYで復号化して読んでくれる。

今までbash_profileに登録していましたが、これがあるとローカル環境でもconfig/credentials.yml.encを作成して書いておくと、それを見て同じ動きをしてくれるので、必要ないですね。

終わりに。

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

6
3
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
6
3