namespace :env do desc <<-DESC Upload env file to the server You can override any of these defaults by setting the variables shown below. set :env_file, ".env" set :env_roles, :all set :env_servers, -> { release_roles(fetch(:env_roles)) } set :env_target, -> { shared_path.join('.env') } DESC task :upload do on fetch(:env_servers) do upload! fetch(:env_file), fetch(:env_target) end end desc <<-DESC Symlink the .env file to the release_path DESC task :symlink do on fetch(:env_servers) do execute :ln, '-sf', fetch(:env_target), release_path.join('.env') end end end namespace :load do task :defaults do set :env_file, ".env" set :env_roles, :all set :env_servers, -> { release_roles(fetch(:env_roles)) } set :env_target, -> { shared_path.join('.env') } end end namespace :deploy do after :updating, 'env:symlink' end