LoginSignup
11
7

More than 3 years have passed since last update.

Capistranoによる自動デプロイエラー(Rails):Missing encryption key to decrypt file with. Ask your team for your master key and write it to

Last updated at Posted at 2020-01-21

手動デプロイできたのに、自動デプロイができない!!!

そんでもって、master.keyがないエラーが表示されるんですけど、どうすればいいんだ!!!

となる方いると思います。

下記をすれば改善するので、早速取り組みましょう

Master.keyがないエラー( Missing encryption key to decrypt file with. Ask your team for your master key and write it to )

このエラーが表示されたということは、『 本番環境にあるmaster.keyをうまく読み込めていない 』ことを意味します。

rake stdout: Nothing written
rake stderr: Missing encryption key to decrypt file with. Ask your team for your master key and write it to /var/○○○(アプリを格納しているディレクトリ名)/○○○(アプリ名)/releases/20200121124714/config/master.key or put it in the ENV['RAILS_MASTER_KEY'].

なので現状として可能性は二つです。

  • master.keyを作成していない。
  • master.keyを作成する場所が間違っている。

ここまで作業を進めている人は,master.keyを作成しているはずです。
>つまり、master.keyの作成場所をまちがている可能性が高いです。
>作成していない人も解説しますので、このまま読み進めてください。

# 誤解が生まれやすいmaster.keyの作成場所

✖︎ アプリ名>config>master.key       #こっちだとエラー
○ アプリ名>shared>config>master.key  #正しい作成場所

おそらく、上記のようにmaster.keyの作成場所に誤りがある可能性が高いです。
ですから、

ターミナル(EC2)
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ cd shared 
[ec2-user@ip-172-31-23-189 shared ]$ cd config
[ec2-user@ip-172-31-23-189 config ]$ ls
>ここでmaster.keyがない場合、 master.keyを作成してください。

master.keyを作成する場合、、、

ターミナル(ローカル)
アプリ名 $ vi config/master.key
>master.keyを中身がわかります。ここでコピーしましょう
>間違っても編集しないようにしましょう

EC2にmaster.keyを作成しましょう

ターミナル(EC2)
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ cd shared/config
[ec2-user@ip-172-31-23-189 config ]$ vi master.key
>編集画面が出るので
>ローカルのmaster.keyをコピペします。
>:wpで保存しましょう

あとは、deploy.rbにmaster.keyを読み込ます設定をします。
下記を追加してください

deploy.rb
set :linked_files, fetch(:linked_files, []).push("config/master.key")

これで改善します

# アプリケーションのディレクトリで実行する
$ bundle exec cap production deploy
11
7
2

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
11
7