30代プログラム初心者がWEBエンジニアになる

30代プログラム初心者が、WEBエンジニアになるまでの奮闘を書いていきます。

Herokuでのデプロイで色々詰まった5

こんにちは、ぐっちと申します。

前回に続き、本番環境にデプロイした後に起こった事について書いていきます。

 

投稿画像が時間が経つと消える

私が開発したアプリは画像が投稿出来るのですが、投稿直後は問題なく画像が表示されますが、時間が経つと表示されなくなってしまいます。

 

ここまで来るともう驚きもしない、冷静に検索すると

  • Heroku 上の Git リポジトリに Push すると、アプリケーションをビルドし、必要なファイルをかき集めて Slug と呼ばれるパッケージが作成される。
  • Slug は Dyno と呼ばれる仮想の Unix コンテナにデプロイされ実行される。
  • 実行された Web アプリには、インターネット越しにブラウザなどからアクセスできるようになる。

というHerokuの詳細と共に

一定時間が経つと、Heroku上のリポジトリ (Dyno) が最後のコミットの状態にリセットされる。

と書いてありました。

なるほど、画像は本番環境でもpublicに保存される様になっていたので、最後のコミットの状態にリセットされてしまったら消えてしまいます。

対処法としてクラウドストレージに保存する方法が紹介されていたので、AWS Amazon S3に保存先を変更する事にしました。

 

幸いカリキュラムで一度やった事なので、そこまで苦労する事なく保存先をS3に変更し、画像は消える事はなくなりました。

 

これで今の所不具合は見つからず、正常に動いています。

この個人アプリ開発で、沢山のエラーや不具合に出会いそれを一人で解決した事で、少しだけですが自信がついた気がします。

 

ここまで読んでくださり、ありがとうございました。

 ツイッターで日々の学習をつぶやいています(@Yamaguc45844169