Skip to content

Instantly share code, notes, and snippets.

@chales
Forked from turboladen/gist:5416689
Created April 14, 2017 13:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chales/a7e62301f78b1eafeb98a36f4fb33278 to your computer and use it in GitHub Desktop.
Save chales/a7e62301f78b1eafeb98a36f4fb33278 to your computer and use it in GitHub Desktop.
Jenkins Swarm plugin init script
#!/bin/sh
### BEGIN INIT INFO
# Provides: hudsonvmfarm
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: hudsonswarm build slave
# Description: hudsonswarm build slave assigned to a Hudson master
### END INIT INFO
set -e
. /lib/lsb/init-functions
USER=hudson
USER_HOME="/home/${USER}"
JAR="${USER_HOME}/hudsonswarm_jar/swarm-client-1.8-jar-with-dependencies.jar"
LOG="${USER_HOME}/hudsonswarm_jar/hudson.log"
MASTER="http://hudsonvmfarm.pelco.org/jenkins"
USERNAME="swarm"
PASSWORD="swarm"
# Swarm client option
DESCRIPTION="systools-01.pelco.org"
EXECUTORS=1
FSROOT="${USER_HOME}/fsroot"
LABELS="Swarm"
OPTS="-description \"${DESCRIPTION}\" \
-executors ${EXECUTORS} \
-fsroot ${FSROOT} \
-labels \"${LABELS}\" \
-username ${USERNAME} \
-password ${PASSWORD}"
PIDFILE="/var/run/hudsonswarm.pid"
ARGS="-server -Djava.awt.headless=true -jar $JAR $OPTS"
JAVA_HOME="/etc/alternatives/java"
DAEMON="/usr/bin/java"
test -x $DAEMON || exit 1
case $1 in
start)
log_daemon_msg "Starting hudsonswarm"
start-stop-daemon --start --quiet --chuid $USER --background --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- $ARGS
log_end_msg $?
;;
stop)
if [ -e $PIDFILE ]; then
log_daemon_msg "Stopping hudsonswarm"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
log_end_msg $?
rm -f $PIDFILE
fi
;;
restart)
$0 stop
sleep 2
$0 start
;;
status)
status_of_proc -p $PIDFILE "$DAEMON" hudsonswarm
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment