【初心者】環境変数を利用したRailsアプリがHerokuにデプロイできない!
前提
- Rails 初心者です。- AWS S3を利用したRailsアプリをHerokuにデプロイしていた際にエラーが出てしまいました。
- セキュリティ対策のために AWS S3のACCESS_KEY_ID, SECRET_ACCESS_KEY は環境変数に設定しています(下記参考)
ENV['ACCESS_KEY_ID'], ENV['SECRET_ACCESS_KEY'],
git add して git commit してからの〜
$ git push heroku master
すると以下のエラーメッセージが
... rake aborted! remote: ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key ...
原因
Herokuにデプロイする際に、一度アプリをBuild するので、環境変数 の部分が nil になってしまいBuildに失敗してError が出てしまっていたのです。解決法
環境変数をHeroku側の環境に設定してからデプロイします。ローカルでの開発の場合もローカルに先に環境変数の設定をしてから
rails s
してください。
$ heroku config:set ACCESS_KEY_ID="ここにACCESS_KEY_IDの値を入れる" $ heroku config:set SECRET_ACCESS_KEY="ここにSECRET_ACCESS_KEYの値を入れる"
これで準備完了です。
$ git push heroku master
... remote: Released v7 remote: https://hoge-app.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy... done.
うまくデプロイできました!
P.S
もっと強くなります!