Skip to content

Instantly share code, notes, and snippets.

@fredericrous
Last active September 19, 2017 11:11
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 fredericrous/2500469644c08a919b0392f20e7f2ec3 to your computer and use it in GitHub Desktop.
Save fredericrous/2500469644c08a919b0392f20e7f2ec3 to your computer and use it in GitHub Desktop.
jenkins slave linux config
#!/bin/sh
### BEGIN INIT INFO
# Provides: jenkins-slave
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: jenkins-slave
# Description: jenkins slave
### END INIT INFO
#
# jenkins-slave: Launch a Jenkins BuildSlave instance on this node
#
# chkconfig: - 99 01
# description: Enable this node to fulfill build jobs
#
JENKINS_WORKDIR="/var/jenkins"
JENKINS_USER="jenkins"
JENKINS_URL="<myurl>"
JENKINS_NODENAME="<my_slave_instance>"
JENKINS_SECRET="<my_secret>"
[ -x /usr/bin/java ] || exit 0
download_jar()
{
cd $JENKINS_WORKDIR
curl -s -o slave.jar $JENKINS_URL/jnlpJars/slave.jar
}
start()
{
cd $JENKINS_WORKDIR
[ -f slave.jar ] || download_jar
echo -n "Starting Jenkins BuildSlave ($JENKINS_NODENAME): "
echo "\
java -jar $JENKINS_WORKDIR/slave.jar \
-jnlpUrl $JENKINS_URL/computer/$JENKINS_NODENAME/slave-agent.jnlp \
-secret $JENKINS_SECRET \
>$JENKINS_WORKDIR/slave.log 2>&1 &"
su - $JENKINS_USER -c "\
java -jar $JENKINS_WORKDIR/slave.jar \
-jnlpUrl $JENKINS_URL/computer/$JENKINS_NODENAME/slave-agent.jnlp \
-secret $JENKINS_SECRET \
>$JENKINS_WORKDIR/slave.log 2>&1 &"
echo Done.
}
stop()
{
echo -n "Shutting down Jenkins BuildSlave ($JENKINS_NODENAME): "
killall -9 java
killall -9 java
echo "deleting java client file "
cd $JENKINS_WORKDIR
rm -f slave.jar
echo Done.
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
status)
status java
;;
*)
echo $"Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
@fredericrous
Copy link
Author

update-rc.d jenkins-slave defaults
update-rc.d jenkins-slave enable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment