Here is my config so far:- Capfile
# Load DSL and set up stages require 'capistrano/setup' # Include default deployment tasks require 'capistrano/deploy' # Include tasks from other gems included in your Gemfile # # For documentation on these, see for example: # # https://github.com/capistrano/rvm # https://github.com/capistrano/rbenv # https://github.com/capistrano/chruby # https://github.com/capistrano/bundler # https://github.com/capistrano/rails # https://github.com/capistrano/passenger # require 'capistrano/rvm' # require 'capistrano/rbenv' # require 'capistrano/chruby' require 'capistrano/bundler' require 'capistrano/rails/assets' require 'capistrano/rails/migrations' #require 'capistrano/passenger' #require "whenever/capistrano" # Load custom tasks from `lib/capistrano/tasks` if you have any defined Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } Deploy.rb # config valid only for current version of Capistrano lock '3.4.0' set :application, '#{fetch(:application)}' set :repo_url, 'git@temp' # Default branch is :master # ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp set :deploy_user, 'temp' set :backup_path, "/home/#{fetch(:deploy_user)}/Backup" # Default deploy_to directory is /var/www/my_app_name set :deploy_to, "/home/#{fetch(:deploy_user)}/#{fetch(:application)}" # Default value for :scm is :git set :scm, :git set :scm_username, "temp" set :rvm_type, :user set :rvm_ruby_version, '2.0.0-p451' #set :ssh_options, { ## config: false, # forward_agent: true, #} set :ssh_options, {:forward_agent => true} # Default value for :format is :pretty # set :format, :pretty # Default value for :log_level is :debug #set :log_level, :debug # Default value for :pty is false set :pty, true # Default value for :linked_files is [] #set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml') set :linked_files, %w{config/database.yml config/mailer_config.yml config/max_mind.yml} # Default value for linked_dirs is [] set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system') # Default value for default_env is {} # set :default_env, { path: "/opt/ruby/bin:$PATH" } # Default value for keep_releases is 5 set :keep_releases, 5 namespace :deploy do desc "Restart app" task :restart do on roles(:app), in: :sequence, wait: 5 do execute :touch, release_path.join("tmp/restart.txt") end end after :finishing, "deploy:cleanup" end I've written a cap task that configures all the dbs etc. This gets run before I do the cap production deploy. namespace :config do task :setup do ask(:application, 'application') ask(:web_server, 'web_server') ask(:db_user, 'db_user') ask(:db_pass, 'db_pass') ask(:db_name, 'db_name') ask(:db_host, 'db_host') setup_config = <<-EOF #{fetch(:rails_env)}: adapter: postgresql database: #{fetch(:db_name)} username: #{fetch(:db_user)} password: #{fetch(:db_pass)} host: #{fetch(:db_host)} EOF on roles(:app) do execute "mkdir -p #{shared_path}/config" upload! StringIO.new(setup_config), "#{shared_path}/config/database.yml" end end end And i've added this in here, but it fails with an ssh error @'s password: How can I resolve this? Thanks -- You received this message because you are subscribed to the Google Groups "Capistrano" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/34a7a7cb-add9-4ca7-91b7-a4b2e4487f6b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
