Sometimes it is required to get the the output of some executed command in external/deployment server and based on that output you may need to take some decision. Lets say for some reason you are planning for hot deployment to a JBoss application server. So before deployment you want to make sure if the JBoss is running or not. You can do that by following script. Here I am assuming that the JBoss is running at 8080
task :do_something_if_jboss_is_running do
set :use_sudo, true
set :user, prompt("User to check jboss running status: ")
set :is_jboss_running, true
run "netstat -an | grep -i listen | grep 8080|wc -l" do |ch, stream, data|
if data.to_i > 0
set :is_jboss_running, true
else
set :is_jboss_running, false
end
end
if is_jboss_running
#do something
else
#do some other thing
end
end
No comments:
Post a Comment