blob: 9aa98f30857051ffce52a0bbe1a1de9a7b928998 [file] [log] [blame]
#!/bin/bash
### BEGIN INIT INFO
# Provides: jenkins-slave
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Jenkins slave
### END INIT INFO
set -e
# /etc/init.d/jenkins-slave: start and stop Jenkins slave
if test -f /etc/default/jenkins-slave; then
. /etc/default/jenkins-slave
else
echo "Configuration for jenkins-slave does not exist" 1>&2
exit 1
fi
. /lib/lsb/init-functions
COMMAND="/usr/bin/java"
COMMAND_ARGS="-jar slave.jar ${JENKINS_ARGS}"
function check_running() {
start-stop-daemon -T --pidfile ${PIDFILE}
ret=$?
if [ $ret -ne 0 ]; then
log_end_msg 1 || true
exit $ret
fi
}
function start() {
# Get slave.jar from master
[ -f ${JENKINS_HOME}/slave.jar ] || wget -O ${JENKINS_HOME}/slave.jar -q ${JENKINS_URL}/jnlpJars/slave.jar
if start-stop-daemon -c ${JENKINS_USER} -d ${JENKINS_HOME} --background --start --quiet --oknodo -m --pidfile ${PIDFILE} --exec ${COMMAND} -- ${COMMAND_ARGS}; then
log_end_msg 0 || true
else
log_end_msg 1 || true
fi
}
function stop() {
if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then
log_end_msg 0 || true
else
log_end_msg 1 || true
fi
}
case "$1" in
start)
log_daemon_msg "Starting Jenkins slave" "jenkins-slave" || true
start
;;
stop)
log_daemon_msg "Stopping Jenkins slave" "jenkins-slave" || true
stop
;;
status)
status_of_proc -p ${PIDFILE} ${COMMAND} jenkins-slave && exit 0 || exit $?
;;
restart)
log_daemon_msg "Restarting Jenkins slave" "jenkins-slave" || true
stop
start
;;
*)
log_action_msg "Usage: /etc/init.d/jenkins-slave {start|stop|restart}" || true
exit 1
;;
esac
exit 0