Files
ss-calculator/lib/capistrano/tasks/envvars.rake

31 lines
1014 B
Ruby

namespace :envvars do
desc 'Load environment variables'
task :load do
# Grab the current value of :default_env
environment = fetch(:default_env, {})
on roles(:app) do
# Read in the environment file
env_file = fetch(:env_file, "#{fetch(:deploy_to)}/shared/.env")
lines = capture("cat #{env_file}")
lines.each_line do |line|
# Remove the "export " keyword, we have no use for that here
line = line.sub /^export /, ""
# Clean up the input by removing line breaks, tabs etc
line = line.gsub /[\t\r\n\f]+/, ""
# Grab the key and value from the line
key, value = line.split("=")
# Remove surrounding quotes if present
value = value.slice(1..-2) if value.start_with?('"') and value.end_with?('"')
# Store the value in our :default_env copy
environment.store(key, value)
end
# Finally, update the global :default_env variable again
set :default_env, environment
end
end
end