projects/aports·blob master · refs

51 lines · 1.6 KiB

1#!/sbin/openrc-run
2
3depend() {
4 need net
5 use dns logger mysql postgresql
6}
7
8checkconfig() {
9 if [ ! -n "$JENKINS_HOME" ] ; then
10 eerror "JENKINS_HOME not configured"
11 return 1
12 fi
13 if [ ! -d "$JENKINS_HOME" ] ; then
14 checkpath -q -d -o jenkins:jenkins -m 0755 "$JENKINS_HOME" || return 1
15 fi
16 return 0
17}
18
19start() {
20 checkconfig || return 1
21
22 JAVA_HOME="/usr/lib/jvm/default-jvm"
23 COMMAND=$JAVA_HOME/bin/java
24
25 JAVA_PARAMS="$JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
26
27 # Don't use --daemon here, because in this case stop will not work
28 PARAMS="--logfile=/var/log/jenkins/jenkins.log"
29 [ -n "$JENKINS_PORT" ] && PARAMS="$PARAMS --httpPort=$JENKINS_PORT"
30 [ -n "$JENKINS_DEBUG_LEVEL" ] && PARAMS="$PARAMS --debug=$JENKINS_DEBUG_LEVEL"
31 [ -n "$JENKINS_HANDLER_STARTUP" ] && PARAMS="$PARAMS --handlerCountStartup=$JENKINS_HANDLER_STARTUP"
32 [ -n "$JENKINS_ARGS" ] && PARAMS="$PARAMS $JENKINS_ARGS"
33
34 if [ "$JENKINS_ENABLE_ACCESS_LOG" = "yes" ]; then
35 PARAMS="$PARAMS --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log"
36 fi
37
38 ebegin "Starting ${SVCNAME}"
39 start-stop-daemon --start --quiet --background \
40 --make-pidfile --pidfile $JENKINS_PIDFILE \
41 --user ${JENKINS_USER} \
42 --exec "${COMMAND}" -- $JAVA_PARAMS $PARAMS
43 eend $?
44}
45
46stop() {
47 ebegin "Stopping ${SVCNAME}"
48 start-stop-daemon --stop --quiet --pidfile $JENKINS_PIDFILE
49 eend $?
50}
51