60 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/sbin/runscript
 | |
| 
 | |
| depend() {
 | |
| 	need net
 | |
| 	use dns logger mysql postgresql
 | |
| }
 | |
| 
 | |
| JENKINS_PIDFILE=/run/jenkins/jenkins.pid
 | |
| JENKINS_WAR=/usr/lib/jenkins/jenkins.war
 | |
| 
 | |
| RUN_AS=jenkins
 | |
| 
 | |
| checkconfig() {
 | |
| if [ ! -n "$JENKINS_HOME" ] ; then
 | |
| 	eerror "JENKINS_HOME not configured"
 | |
| 	return 1
 | |
| fi
 | |
| if [ ! -d "$JENKINS_HOME" ] ; then
 | |
| 	eerror "JENKINS_HOME directory does not exist: $JENKINS_HOME"
 | |
| 	return 1
 | |
| fi
 | |
| return 0
 | |
| }
 | |
| 
 | |
| start() {
 | |
| 	checkconfig || return 1
 | |
| 
 | |
| 	[ -d /var/run/jenkins ] || mkdir /var/run/jenkins
 | |
| 	JAVA_HOME=`java-config --jre-home`
 | |
| 	COMMAND=$JAVA_HOME/bin/java
 | |
| 
 | |
| 	JAVA_PARAMS="$JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
 | |
| 
 | |
| 	# Don't use --daemon here, because in this case stop will not work
 | |
| 	PARAMS="--logfile=/var/log/jenkins/jenkins.log"
 | |
| 	[ -n "$JENKINS_PORT" ] && PARAMS="$PARAMS --httpPort=$JENKINS_PORT"
 | |
| 	[ -n "$JENKINS_DEBUG_LEVEL" ] && PARAMS="$PARAMS --debug=$JENKINS_DEBUG_LEVEL"
 | |
| 	[ -n "$JENKINS_HANDLER_STARTUP" ] && PARAMS="$PARAMS --handlerCountStartup=$JENKINS_HANDLER_STARTUP"
 | |
| 	[ -n "$JENKINS_HANDLER_MAX" ] && PARAMS="$PARAMS --handlerCountMax=$JENKINS_HANDLER_MAX"
 | |
| 	[ -n "$JENKINS_HANDLER_IDLE" ] && PARAMS="$PARAMS --handlerCountMaxIdle=$JENKINS_HANDLER_IDLE"
 | |
| 	[ -n "$JENKINS_ARGS" ] && PARAMS="$PARAMS $JENKINS_ARGS"
 | |
| 
 | |
| 	if [ "$JENKINS_ENABLE_ACCESS_LOG" = "yes" ]; then
 | |
| 		PARAMS="$PARAMS --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log"
 | |
| 	fi
 | |
| 
 | |
| 	ebegin "Starting ${SVCNAME}"
 | |
| 	start-stop-daemon --start --quiet --background \
 | |
| 		--make-pidfile --pidfile $JENKINS_PIDFILE \
 | |
| 		--user $RUN_AS \
 | |
| 		--exec "${COMMAND}" -- $JAVA_PARAMS $PARAMS
 | |
| 	eend $?
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	ebegin "Stopping ${SVCNAME}"
 | |
| 	start-stop-daemon --stop --quiet --pidfile $JENKINS_PIDFILE
 | |
| 	eend $?
 | |
| }
 |