3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dockerで作ったRailsプロジェクトをロリポップ!マネージドクラウドにあげるのに手こずった話

Posted at

前置き

dockerを使ってRailsの開発を趣味でやっていた。
ひと段落ついたので、サーバーに公開しようと思ったがエラーが出てなかなかうまくいかなかった話です。

エラーの内容

console
ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit`

解決法

console
EDITOR=vim rails credentials:edit --environment production

dockerに入って上のコマンドを実行していたが、Vimが入っていなかったので、一見できてるようでできていなかった。
編集画面が出てこないのでおかしいとは思っていたが、ファイルはしっかり生成されているし大丈夫だと思っていたのが罠だった。

あとはマネクラのプロジェクト管理画面で環境変数の設定をしておく。
スクリーンショット 2020-05-16 23.24.27.png
ここに入れる値の内容は、/config/credentials/production.keyの内容をコピーして貼り付ける。

その後以下のファイルを作った。

/config/deploy.rb
append :linked_files, 'config/credentials/production.key'

これは

Railsがproduction.keyを参照するためのシンボリックリンクを貼る記述を追加する。

という感じらしい。

最後にSSHでマネクラにアクセスして以下のファイルを作っておいてからPushするとOK

console
vim user_command.sh
user_command.sh
test -f ~/shared/.env && ln -s ~/shared/.env ./.env || true
export RAILS_ENV=production

bundle install --deployment --without development,test --path vendor/bundle
bin/rails db:create
bin/rails db:migrate

最後に

なかなか解決せずに6時間くらい悩みました。
30分休憩してから再度取り掛かったらすぐに解決しました。
煮詰まったら一回休むってほんと大事

お世話になった記事

Rails 6でCapistranoでデプロイする際のCredentials関連エラーに対処する
[Ruby on Rails]ロリポップ!マネージドクラウドでRailsアプリを稼働させるまで

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?