4
0

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 1 year has passed since last update.

【Railsチュートリアル】Renderへのデプロイが出来なくてハマった話

Last updated at Posted at 2023-03-26

はじめに

Railsチュートリアルの第1章の5でのRenderへのデプロイが失敗し解決するまでを記事にします。

RailsチュートリアルではAWS Cloud9を使用していますが、本記事はローカル環境からRailsチュートリアルを行っています。

Macのスペック

  • MacBook Pro 13-inch 2020
  • Chip: Apple M1
  • OS: macOS Ventura13.0.1
  • Memory: 16 GB
  • Storage: 500GB

エラー確認

DashboardのEventsを確認

First deploy started for 9904a89: XXXXXXXの上にDeploy failed...ができているのでDeploy部分をクリックし中身を確認する
スクリーンショット 2023-03-26 16.54.52.png

最後の1番手前がBuild failedになっている

Mar 26 04:10:55 PM  ==> Build failed 😞
Mar 26 04:10:55 PM  ==> Generating container image from build. This may take a few minutes...

エラー解決

エラー①

bundler: failed to load command: rake (/opt/render/project/rubies/ruby-3.2.1/bin/rake)
Mar 26 04:10:55 PM  /opt/render/project/.gems/gems/bundler-2.4.9/lib/bundler/definition.rb:449:in `validate_platforms!': Your bundle only supports platforms ["arm64-darwin-22"] but your local platform is x86_64-linux. Add the current platform to the lockfile with (Bundler::ProductionError)

DeepLで翻訳すると

bundler: コマンドの読み込みに失敗しました: rake (/opt/render/project/rubies/ruby-3.2.1/bin/rake)
Mar 26 04:21:40 PM /opt/render/project/.gems/gems/bundler-2.4.9/lib/bundler/definition.rb:449:in `validate_platforms! 
バンドルはプラットフォーム ["arm64-darwin-22"] しかサポートしていませんが、
ローカルプラットフォームは x86_64-linux です。(Bundler::ProductionError)で現在のプラットフォームをロックファイルに追加してください。

ロックファイル追加

エラーの指示通りにロックファイルをRailsプロジェクトのディレクトリに追加

bundle lock --add-platform x86_64-linux

再デプロイ

app/controllers/application_controller.rbのコードを適当に変更しgit pushで再デプロイする

エラー再発

Eventsを確認するとまたエラーになっている
スクリーンショット 2023-03-26 17.10.26.png

エラー②

Mar 26 04:29:42 PM  Caused by:
Mar 26 04:29:42 PM  ArgumentError: key must be 16 bytes

Railsプロジェクトのconfig/master.keyを確認

エラー②を解消するにはDashboardのEnvironmentのValueを正しく直す必要があります。
config/master.keyを開くと数字とアルファベットの羅列が1行だけあるので、それをコピーしてください
※私はVSCodeで直接ファイルを開いてコピーしました

master.keyをDashboardのEnvironmentのValueに貼りつけSave Changeを押下する

スクリーンショット 2023-03-26 17.21.13.png

再々デプロイ

Environmentを更新するとデプロイが自動で走ります。
Eventsに以下のように表示されていればデプロイが成功しています。
スクリーンショット 2023-03-26 17.23.55.png

割り当てられているURLにアクセスしてRailsプロジェクトが表示されていれば完了です。

参考記事

【Railsチュートリアル】 renderへのデプロイが失敗する (環境:macOS)
ほとんど全く同じ状況でした。
この記事なかったら解決できていなかったと思います。
ありがとうございます。

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?