I’m currently deploying my Rails application on Amazon and I’m facing a problem with environment variables.
I\'m using the dotenv gem on development and testing and
You could use the figaro gem. I am using this and it works fine in production.
The dotenv-deployment readme mentions how you can use it in a production environment:
If you're using Capistrano 3+:
Just add .env to your list of linked_files:
set :linked_files, %w{.env}
If you're using Capistrano 2.x.x version:
In your config/deploy.rb
file:
require "dotenv/capistrano"
It will symlink the .env
located in /path/to/shared
in the new release.
Remember to add :production
group to the dotenv-rails
gem in your application's Gemfile
:
gem 'dotenv-rails', :groups => [:development, :test, :production]
In Capistrano 3 add require "dotenv/rails-now"
to your Capfile.
This will make sure that capistrano has access to the environment as well.
(We had issues with capistrano accessing the API token for appsignal, so capistrano wasn't able to notify appsignal when a new deploy was done)