次の世界に行く者のブログ。

I wanna be a 最強 hero.

【初心者】環境変数を利用した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
もっと強くなります!