templates/torquebox/config/rubber/deploy-torquebox.rb in rubber-2.1.2 vs templates/torquebox/config/rubber/deploy-torquebox.rb in rubber-2.2.0
- old
+ new
@@ -15,10 +15,19 @@
# Install to appropriate location.
rm -f #{rubber_env.torquebox_dir}
ln -s #{rubber_env.torquebox_prefix}/torquebox-#{rubber_env.torquebox_version} #{rubber_env.torquebox_dir}
+ # Create the log dir.
+ mkdir -p #{rubber_env.torquebox_log_dir}
+ chown -R #{rubber_env.app_user} #{rubber_env.torquebox_log_dir}
+
+ # Set up libraries for graylog logger.
+ mkdir -p #{rubber_env.torquebox_dir}/jboss/modules/org/graylog2/logging/main
+ wget -qNO "#{rubber_env.torquebox_dir}/jboss/modules/org/graylog2/logging/main/gelfj-1.0.1.jar" https://github.com/downloads/t0xa/gelfj/gelfj-1.0.1.jar
+ wget -qNO "#{rubber_env.torquebox_dir}/jboss/modules/org/graylog2/logging/main/json-simple-1.1.1.jar" http://json-simple.googlecode.com/files/json-simple-1.1.1.jar
+
# Cleanup after ourselves.
rm torquebox-dist-#{rubber_env.torquebox_version}-bin.zip
fi
ENDSCRIPT
end
@@ -44,16 +53,15 @@
# serial_task can only be called after roles defined - not normally a problem, but
# rubber auto-roles don't get defined till after all tasks are defined
on :load do
rubber.serial_task self, :serial_reload, :roles => [:torquebox] do
rsudo "touch #{jboss_home}/standalone/deployments/#{application}-knob.yml.dodeploy"
+ rsudo "if ! ps ax | grep -v grep | grep -c torque &> /dev/null; then service torquebox start; fi"
# Wait for TorqueBox to startup before moving on so we don't remove all hosts from the cluster.
- logger.info "Waiting for TorqueBox to startup"
+ logger.info "Waiting for TorqueBox to deploy"
- #rsudo "while ! curl -s -f http://$HOSTNAME:#{rubber_env.torquebox_http_port} &> /dev/null; do echo .; sleep 1; done"
-
# TorqueBox first "deploys" the app, then lets the web context startup. While it's deploying,
# the old context can still service requests. So, we need to wait until the app is deployed before we can
# start checking if it's handling web requests. Once it's deployed and web requests are being served we can move on.
rsudo "while ls #{jboss_home}/standalone/deployments/#{application}-knob.yml.dodeploy &> /dev/null; do echo .; sleep 1; done"
rsudo "while ! curl -s -f http://$HOSTNAME:#{rubber_env.torquebox_http_port} &> /dev/null; do echo .; sleep 1; done"
@@ -78,20 +86,24 @@
task :create_cache_directory do
rsudo "mkdir #{shared_path}/cache || true"
rsudo "chown -R #{rubber_env.app_user}:#{rubber_env.app_user} #{shared_path}/cache"
end
+ before "deploy:stop", "rubber:torquebox:stop"
+ after "deploy:start", "rubber:torquebox:start"
+ after "deploy:restart", "rubber:torquebox:reload"
+
task :restart, :roles => :torquebox do
stop
start
end
task :stop, :roles => :torquebox do
rsudo "service torquebox stop || true"
end
task :start, :roles => :torquebox do
- rsudo "service torquebox start || true"
+ rsudo "service torquebox start"
end
after "deploy:restart", "rubber:torquebox:reload"
desc "Reloads the apache web server"