I guess I might be better doing

cap --hosts=server1,server2 production deploy


and not having the initial setup file ask for the server name which is 
probably wrong.

Thanks


On Friday, July 17, 2015 at 4:01:16 PM UTC+1, Stuart Watson wrote:
>
> 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/c0b5dc15-429b-48ac-847f-f1d9620ac1be%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to