
はじめましてこんにちは、ひょうどうです。
今回はCloud RunにRailsアプリをデプロイする際にハマった「メモリ問題」の解決策をメモしたいと思います。
起こった現象
Qiitaのこの記事を参考にCloud RunにRailsアプリをコンテナ化したものをデプロイしていたのですが、scssやcoffeeのコンパイルをするための以下のコードが原因でエラーがでていました。
bundle exec rake assets:precompile RAILS_ENV=production
エラーの内容は以下の画像です。
Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information.
これをそのままググると公式サイトのトラブルシェーディングをはじめに色々できて、他にもアセットコンパイル系の記事を読んでも解決の糸口がわかりませんでした。
解決策
GCPで作業している時に一番忘れがちなログを確認してみた所、普通に解決策が書いてありました...w
これの一番下に「Memory limit of 256M exeeded with 291M used」
アセットをコンパイルする時のメモリが単純に足りなかったということです。
Cloud Runのメモリを256M→512Mに変更するとすんなりうまくいきました。
まとめ
GCPやAWS上で開発するときよくログを確認することを忘れてしまうので、これからは気をつけていきたいです。
以上
最後までご覧いただきありがとうございます。
それではまたどこかでお会いしましょう!