Как получить rails master.key после обновления до rails 5.2 - PullRequest
0 голосов
/ 28 января 2019

Итак, я обновил приложение, над которым работаю, до rails 5.2, и оно зависло на Heroku.Я думаю, это потому, что у меня нет файла master.key в моей папке / config.У меня все еще есть файл secretts.yml из предыдущей версии rails.Что мне нужно сделать, чтобы решить эту проблему?Спасибо!

ошибка в логах героку:

2019-01-28T21:07:46.922561+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/aws-sdk-s3-1.30.1/lib/aws-sdk-s3/bucket.rb:684:in `extract_name': Cannot load `Rails.config.active_storage.service`: (ArgumentError)
2019-01-28T21:07:46.922573+00:00 app[web.1]: missing required option :name

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Пара вещей.Исходя из моего личного опыта, я обновил несколько приложений Rails до 5.2 и смог без проблем развернуть на Heroku без этой функции.Так что я не думаю, что это обязательно.

Если бы вы могли запустить heroku logs --tail --app <your app name> и показать нам трассировку стека того, почему ваше приложение не работает, это определенно помогло бы.

0 голосов
/ 29 января 2019

Вы сможете сгенерировать файл master.key, используя следующую команду:

$ EDITOR=vim rails credentials:edit

Пример вывода будет следующим:

Adding config/master.key to store the master encryption key: <YOUR_MASTER_KEY>

Save this in a password manager your team can access.

If you lose the key, no one, including you, can access anything encrypted with it.

      create  config/master.key

Ignoring config/master.key so it won't end up in Git history:

      append  .gitignore

Пожалуйста, проверьте официальную документацию:https://github.com/rails/rails/blob/master/railties/lib/rails/commands/credentials/USAGE

0 голосов
/ 29 января 2019

Вы должны сгенерировать master.key и credentials.yml.enc .Для этого просто запустите команду:

run EDITOR=vim rails credentials:edit

(В качестве редактора вы можете использовать что-то еще, например atom или nano).

В открывшемся редакторе вы можете ввести учетные данные исохрани это.Rails использует master.key для шифрования учетных данных.Подробнее вы можете найти здесь: https://medium.com/cedarcode/rails-5-2-credentials-9b3324851336

Чтобы зашифрованные учетные данные работали на Heroku, вы можете скопировать ключ из master.key и использовать его для установки переменной RAILS_MASTER_KEY environemnt.Вы можете достичь этого с помощью Heroku Dashboard или Heroku CLI, как показано ниже:

$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...