summaryrefslogtreecommitdiff
path: root/nonsystemd/jenkins-openrc/jenkins.initd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/jenkins-openrc/jenkins.initd')
-rw-r--r--nonsystemd/jenkins-openrc/jenkins.initd51
1 files changed, 51 insertions, 0 deletions
diff --git a/nonsystemd/jenkins-openrc/jenkins.initd b/nonsystemd/jenkins-openrc/jenkins.initd
new file mode 100644
index 000000000..9a7d130e9
--- /dev/null
+++ b/nonsystemd/jenkins-openrc/jenkins.initd
@@ -0,0 +1,51 @@
+#!/usr/bin/openrc-run
+
+depend() {
+ need net
+ use dns logger mysql postgresql
+}
+
+checkconfig() {
+ if [ ! -n "$JENKINS_HOME" ] ; then
+ eerror "JENKINS_HOME not configured"
+ return 1
+ fi
+ if [ ! -d "$JENKINS_HOME" ] ; then
+ checkpath -q -d -o jenkins:jenkins -m 0755 "$JENKINS_HOME" || return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+
+ JAVA_PARAMS="$JAVA_ARGS $JAVA_OPTS -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_WEBROOT" ] && PARAMS="$PARAMS --webroot=$JENKINS_WEBROOT"
+ [ -n "$JENKINS_PORT" ] && PARAMS="$PARAMS --httpPort=$JENKINS_PORT"
+ [ -n "$JENKINS_AJPPORT" ] && PARAMS="$PARAMS --ajp13Port=$JENKINS_AJPPORT"
+ [ -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 $JENKINS_USER \
+ --exec "$JAVA" -- $JAVA_PARAMS $PARAMS
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $JENKINS_PIDFILE
+ eend $?
+}