the run command started failing today with the following error: Any help
would be appreciated. Worked yesterday, failed today. SSH issue?
Rebuild remote keys? Thx!
connection failed for: dvdrwebtc2 (ArgumentError: wrong number of arguments
(2 for 1))
the stage file ( dev_eventmgr_env2.rb ) for our capistrano deployment
script has the following contents:
set :user, 'cmbuild'
set :environment, 'env2'
set :environment_level, 'dev'
set :project_target, 'eventmgr'
set :tcserver_instance, 'dev2-cms1'
role :web, 'dvdrwebtc2'
role :app, 'dvdrwebtc2'
the capistrano script is below:
set :stages, %w(dev_eventmgr_env2)
set :default_stage, "dev_eventmgr_env2"
require 'capistrano/ext/multistage'
require 'warbler'
dir = Dir.pwd
end_position = dir.reverse.index("/") - 1
directory_name = (dir.reverse[0..end_position]).reverse
set :sudo_user, 'tcserver'
set :tcserver_home, '/opt/tcserver262'
set :deploy_to, "/webapps/apps"
set :deploy_config, "/webapps/config"
set :project, "eventmgr"
set :application, 'eventmgr.ofi.com'
set :deploy_via, :copy
set :use_sudo, false
set :releases_directory, "./tmp/releases"
set :individual_release, "release_#{release_name}"
set :checkout_directory, "./tmp/checkout"
set :scm, :none
set :repository, "#{releases_directory}/#{individual_release}"
#deployment tasks
before "tcserver:stop", "log:time"
before "jruby:deploy", "tcserver:stop"
before "deploy:checkout", "jruby:create_release_directory"
before "jruby:move_war", "deploy:checkout"
before "jruby:deploy", "jruby:move_war"
after "jruby:deploy", "tcserver:start"
after "tcserver:start", "log:time"
namespace :log do
desc 'log time'
task :time do
now = Time.now
puts " [info :: #{now}]"
end
end
namespace :deploy do
desc 'checkout from SVN repository'
task :checkout do
system("rm -rf #{checkout_directory}")
puts "info :: ready to svn this command: svn checkout
http://svn-1/release/#{project}/tags/#{label} #{checkout_directory}"
system "svn checkout http://svn-1/release/#{project}/tags/#{label}
#{checkout_directory}"
# puts "info :: ready to svn this command: svn checkout
http://svn-1/release/edist/tags/#{label} --username #{svn_user} --password
#{svn_password} #{checkout_directory}"
# system "svn checkout http://svn-1/release/edist/tags/#{label}
--username #{svn_user} --password #{svn_password} #{checkout_directory}"
end
end
namespace :jruby do
desc 'copy code from local to remote server'
task :deploy do
servers = roles[:web].servers
servers.each do |server|
puts " [info :: deleting war - #{deploy_to}/#{project_target}.war]"
run "rm -f #{deploy_to}/#{project_target}.war"
puts " [info :: deleting deployed app directory -
#{deploy_to}/#{project_target}]"
run "rm -rf #{deploy_to}/#{project_target}"
puts " [info :: scp war from-to #{repository}/#{project}.war
#{user}@#{server}:#{deploy_to}/#{project_target}.war]"
system "scp #{repository}/#{project}.war
#{user}@#{server}:#{deploy_to}/#{project_target}.war"
run "chmod 775 #{deploy_to}/#{project_target}.war"
puts "info :: create #{project_target} directories"
run "mkdir #{deploy_to}/#{project_target}"
run "chmod 775 #{deploy_to}/#{project_target}"
run "mv #{deploy_to}/#{project_target}.war
#{deploy_to}/#{project_target}/#{project_target}.war"
puts "info :: explode war file to #{deploy_to}/#{project_target}
directory"
run "cd #{deploy_to}/#{project_target} ; /usr/bin/jar xf
#{deploy_to}/#{project_target}/#{project_target}.war"
puts "info :: create version.txt in #{deploy_to}/#{project_target}
directory"
run "echo Label: #{label} Date: `date` >
#{deploy_to}/#{project_target}/version.txt"
run "chmod 775 -R #{deploy_to}/#{project_target}"
run "rm #{deploy_to}/#{project_target}/#{project_target}.war"
puts " [info :: scp completed"
end
end
desc 'builds a project and checks into svn'
task :build do
puts " [info :: Cleaning assets]"
system "jruby -S rake assets:clean"
puts " [info :: Precompiling assets - this may take a while...]"
system "jruby -S rake assets:precompile"
puts " [info :: creating war]"
system "jruby -S warble"
puts " [info :: removing old checkout directory]"
system("rm -rf #{checkout_directory}")
puts " [info :: creating checkout directory]"
system("mkdir #{checkout_directory}")
puts " [info :: checking out #{project}/trunk/#{project}.war]"
system "svn checkout http://svn-1/release/#{project}/trunk --username
#{svn_user} --password #{svn_password} #{checkout_directory}"
puts " [info :: deleting old #{project}.war]"
system("rm -f ./#{checkout_directory}/#{project}.war")
puts " [info :: moving new #{project}.war to checkout directory]"
system "mv ./#{project}.war #{checkout_directory}/#{project}.war"
puts " [info :: committing new #{project}.war]"
system("svn commit ./#{checkout_directory}/#{project}.war -m
'committing new #{project}.war file'")
puts " [info :: creating release tag directory]"
system("svn mkdir http://svn-1/release/edist/tags/#{label} -m 'creating
release directory'")
puts " [info :: tagging #{project}.war with label: #{label}]"
system("svn copy ./#{checkout_directory}/#{project}.war
http://svn-1/release/#{project}/tags/#{label}/#{project}.war -m 'Tagging
#{project}.war with label #{label}'")
puts " [info :: cleaning up]"
puts " [info :: removing checkout dir and contents]"
system("rm -rf #{checkout_directory}")
puts " [info :: Cleaning up assets]"
system "jruby -S rake assets:clean"
puts " [info :: build complete - #{project}.war with label #{label}]"
end
desc 'create war'
task :create_war do
puts " [info :: creating war]"
system "jruby -S bundle exec warble"
end
desc 'precompile assets'
task :precompile_assets do
puts " [info :: Cleaning assets]"
system "jruby -S rake assets:clean"
puts " [info :: Precompiling assets]"
system "jruby -S rake assets:precompile"
end
desc 'move war to release directory'
task :move_war do
puts " [info :: moving war to
#{releases_directory}#{individual_release}]"
system "mv ./tmp/checkout/#{project}.war
#{releases_directory}/#{individual_release}/#{project}.war"
end
desc 'create release directory'
task :create_release_directory do
puts " [info :: creating releases directory - #{releases_directory}]"
system("mkdir ./tmp")
system("rm -rf #{releases_directory}")
system("mkdir #{releases_directory}")
puts " [info :: creating individual release directory -
#{releases_directory}/#{individual_release}]"
system("mkdir #{releases_directory}/#{individual_release}")
end
end
namespace :tcserver do
desc "start tcserver"
task :start do
#run "#{tcserver_home}/bin/tcruntime-ctl.sh start"
run "sudo -u #{sudo_user} #{tcserver_home}/tcruntime-ctl.sh
#{tcserver_instance} start -n /lclapps/tcserver"
end
desc "stop tcserver"
task :stop do
begin
#run "#{tcserver_home}/bin/tcruntime-ctl.sh stop"
run "sudo -u #{sudo_user} #{tcserver_home}/tcruntime-ctl.sh
#{tcserver_instance} stop -n /lclapps/tcserver"
rescue Exception => e
puts " [info :: couldn't stop tcserver - but that's ok, it
probably wasn't running]"
end
end
desc "stop and start tcserver"
task :restart do
tcserver.stop
puts " [info :: sleeping before starting tcserver]"
sleep 5
tcserver.start
end
desc "tail :tcserver_home/logs/*.log and logs/catalina.out"
task :tail do
stream "tail -f #{tcserver_home}/logs/*.log
#{tcserver_home}/logs/catalina.out"
end
end
namespace :tomcat do
desc "start tomcat"
task :start do
run "#{tomcat_home}/bin/startup.sh"
end
desc "stop tomcat"
task :stop do
run "#{tomcat_home}/bin/shutdown.sh"
end
desc "stop and start tomcat"
task :restart do
tomcat.stop
puts " [info :: sleeping before starting tomcat]"
sleep 5
tomcat.start
end
desc "tail :tomcat_home/logs/*.log and logs/catalina.out"
task :tail do
stream "tail -f #{tomcat_home}/logs/*.log
#{tomcat_home}/logs/catalina.out"
end
end
--
* You received this message because you are subscribed to the Google Groups
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/capistrano?hl=en