Skip to content

Instantly share code, notes, and snippets.

@azam
Created March 24, 2014 04:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save azam/9734259 to your computer and use it in GitHub Desktop.
Save azam/9734259 to your computer and use it in GitHub Desktop.
Startup script for the Jenkins Continuous Integration server for Amazon EC2 Linux (via jar execution)
#!/bin/sh
#
# Startup script for the Jenkins Continuous Integration server for Amazon EC2 Linux
# (via jar execution)
#
# chkconfig: - 85 15
# description: Jenkins Continuous Integration Server
# processname: jenkins
# pidfile: /var/run/jenkins.pid
JENKINS_USER=ec2-user
LOCKFILE=/var/lock/jenkins
export M2_HOME=/home/ec2-user/apache-maven-3.1.1
export M2=$M2_HOME/bin
export ANT_HOME=/usr/share/ant
export PATH=$M2:/usr/local/bin:$PATH
export HOME=/home/ec2-user
export JAVA_HOME=/usr/java/jdk1.7.0_51/
export JAVA_OPTS="-Xms64m -Xmx320m -Djava.awt.headless=true"
# NOTE: By default Jenkins creates .jenkins directory on home dir
# export JENKINS_BASEDIR=/home/jenkins
export PATH=$PATH:/usr/bin:/usr/local/bin
# See how we were called.
case "$1" in
start)
# Start daemon.
echo -n "Starting Jenkins: "
su -p -s /bin/sh $JENKINS_USER -c "java $JAVA_OPTS -jar /home/ec2-user/jenkins.war > /dev/null 2>&1 &"
PID=$$
RETVAL=$?
echo
[ $RETVAL = 0 ] && echo $PID > $LOCKFILE
;;
stop)
# Stop daemons.
echo -n "Shutting down Jenkins: "
su -p -s /bin/sh $JENKINS_USER -c "kill $(cat $LOCKFILE)"
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
condrestart)
[ -e $LOCKFILE ] && $0 restart
;;
status)
status tomcat
;;
*)
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