diff options
author | Francesco Colista <fcolista@alpinelinux.org> | 2017-07-13 10:22:55 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2017-07-13 10:23:00 +0000 |
commit | b3035afd9af9784996e38362dd5ded3c6c4e0cab (patch) | |
tree | c6fabaaf8c7d5d8e11f7f7bb36021321d30e9cbd | |
parent | 5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb (diff) | |
download | aports-b3035afd9af9784996e38362dd5ded3c6c4e0cab.tar.bz2 aports-b3035afd9af9784996e38362dd5ded3c6c4e0cab.tar.xz |
testing/jenkins:new aport
-rw-r--r-- | testing/jenkins/APKBUILD | 44 | ||||
-rw-r--r-- | testing/jenkins/jenkins.confd | 11 | ||||
-rw-r--r-- | testing/jenkins/jenkins.initd | 53 | ||||
-rw-r--r-- | testing/jenkins/jenkins.logrotate | 17 | ||||
-rw-r--r-- | testing/jenkins/jenkins.pre-install | 5 |
5 files changed, 130 insertions, 0 deletions
diff --git a/testing/jenkins/APKBUILD b/testing/jenkins/APKBUILD new file mode 100644 index 0000000000..8ceebe3c08 --- /dev/null +++ b/testing/jenkins/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Maintainer: Francesco Colista <fcolista@alpinelinux.org> +pkgname=jenkins +pkgver=2.60.1 +pkgrel=0 +pkgdesc="Extendable continuous integration server (stable version)" +url="https://jenkins.io" +arch="noarch" +license="MIT" +depends="openjdk8 openjdk8-jre openjdk8-jre-base + freetype ttf-dejavu xvfb fontconfig" +install="$pkgname.pre-install" +options="!check" +pkgusers="$pkgname" +pkggroups="$pkgname" +source="jenkins-$pkgver.war::http://mirrors.jenkins.io/war-stable/$pkgver/$pkgname.war + $pkgname.logrotate + $pkgname.initd + $pkgname.confd" +builddir="$srcdir/" + +build() { + cd "$builddir" + return 0 +} + +package() { + cd "$builddir" + install -Dm755 "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname + install -Dm644 "$srcdir"/$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname + install -Dm755 "$srcdir"/$pkgname-$pkgver.war \ + "$pkgdir"/usr/share/webapps/jenkins/$pkgname.war + install -Dm644 "$srcdir"/$pkgname.logrotate \ + "$pkgdir"/etc/logrotate.d/$pkgname + mkdir -p "$pkgdir"/var/log/jenkins + chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/jenkins +} + +sha512sums="0eef089380bc3acff62b5dcf2e36bbd7d5f973d269cc8d8d429bfaae80835dd321055038ceb0b7d39a6c291685347fa905a249f312c3970d5210450596b78518 jenkins-2.60.1.war +74423d3c66e2312eb3a1590e0582ccd82fc01b410d3bfc0627bef56fe6f4e7f4ea01a7a2d92a7a0c4870a1a1c48e911fe7eab3073e14db4910b52158182e5856 jenkins.logrotate +43686a537248c7a0a8fe53c3ca9577c8ffb50a141248de028d398d0fd3b3be8562b6cb2c63b44b3b0ac58d6431e8907790553791b2e125d1bfc2e3263ffaa83e jenkins.initd +7247750a13fc2537dc1e405f6d8221ccdc80cfbaf40c47327ee04c206afa8607ada52e7b895c8eb3489dd9f6a94b42b8b38110b3120948a35dc4f197fe4c08ed jenkins.confd" diff --git a/testing/jenkins/jenkins.confd b/testing/jenkins/jenkins.confd new file mode 100644 index 0000000000..0a76a098f3 --- /dev/null +++ b/testing/jenkins/jenkins.confd @@ -0,0 +1,11 @@ +JENKINS_HOME="/var/lib/jenkins" +JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true" +JENKINS_PORT="8080" +JENKINS_DEBUG_LEVEL="5" +JENKINS_ENABLE_ACCESS_LOG="no" +JENKINS_HANDLER_MAX="100" +JENKINS_HANDLER_IDLE="20" +JENKINS_ARGS="" +JENKINS_USER=jenkins +JENKINS_PIDFILE="/var/run/jenkins.pid" +JENKINS_WAR="/usr/share/webapps/jenkins/jenkins.war" diff --git a/testing/jenkins/jenkins.initd b/testing/jenkins/jenkins.initd new file mode 100644 index 0000000000..7520edabbd --- /dev/null +++ b/testing/jenkins/jenkins.initd @@ -0,0 +1,53 @@ +#!/sbin/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_HOME="/usr/lib/jvm/default-jvm" + 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 ${JENKINS_USER} \ + --exec "${COMMAND}" -- $JAVA_PARAMS $PARAMS + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --pidfile $JENKINS_PIDFILE + eend $? +} + diff --git a/testing/jenkins/jenkins.logrotate b/testing/jenkins/jenkins.logrotate new file mode 100644 index 0000000000..33b1660045 --- /dev/null +++ b/testing/jenkins/jenkins.logrotate @@ -0,0 +1,17 @@ +/var/log/jenkins/jenkins.log /var/log/jenkins/access_log { + compress + dateext + maxage 365 + rotate 99 + size=+4096k + notifempty + missingok + create 644 + postrotate + [ -r /etc/conf.d/jenkins ] && . /etc/conf.d/jenkins + if [ -s /var/run/jenkins.pid ]; then + JPID=$(cat /var/run/jenkins.pid) + test -n "$(find /proc/$JPID -maxdepth 0 -user ${RUN_AS:-jenkins} 2>/dev/null)" && kill -s ALRM $JPID || : + fi + endscript +} diff --git a/testing/jenkins/jenkins.pre-install b/testing/jenkins/jenkins.pre-install new file mode 100644 index 0000000000..4db91f860f --- /dev/null +++ b/testing/jenkins/jenkins.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh +addgroup -S jenkins 2>/dev/null +adduser -S -D -h /var/lib/jenkins -s /sbin/nologin -G jenkins -g jenkins jenkins 2>/dev/null +exit 0 + |