blob: ab472edb6a3a12eab3c02cfe01bd11d92a678e83 [file] [log] [blame]
Vincent Latombec14af952016-07-18 10:20:12 +02001#! /bin/bash -e
Nicolas De Loofd6064382014-10-04 08:17:28 +02002
Charles Duffyffbd7872016-09-20 11:51:35 -05003: "${JENKINS_HOME:="/var/jenkins_home"}"
Vladimir Khlyunevcb024712022-02-28 19:50:43 +04004
5if [[ -f "/usr/local/bin/pre_startup_copy_plugins.sh" ]] ; then
6 /bin/bash /usr/local/bin/pre_startup_copy_plugins.sh
7fi
8
Ivan Berezovskiy361a4612019-05-08 16:19:28 +04009cat << EOF >>/usr/share/jenkins/ref/init.groovy.d/executors.groovy
10import jenkins.model.*
11Jenkins.instance.setNumExecutors(${JENKINS_NUM_EXECUTORS:-2})
12EOF
Charles Duffyffbd7872016-09-20 11:51:35 -050013touch "${COPY_REFERENCE_FILE_LOG}" || { echo "Can not write to ${COPY_REFERENCE_FILE_LOG}. Wrong volume permissions?"; exit 1; }
Kanstantsin Shautsou44096322015-12-11 02:21:20 +030014echo "--- Copying files at $(date)" >> "$COPY_REFERENCE_FILE_LOG"
Charles Duffy98683582016-09-20 11:41:41 -050015find /usr/share/jenkins/ref/ -type f -exec bash -c '. /usr/local/bin/jenkins-support; for arg; do copy_reference_file "$arg"; done' _ {} +
Nicolas De Loofacb86492014-10-24 13:43:13 +020016
Ivan Berezovskiy69856112019-04-02 19:23:33 +040017export JENKINS_URL_PREFIX=${JENKINS_URL_PREFIX:-""}
18export JENKINSTHEME_CSS_URL=${JENKINSTHEME_CSS_URL:-$JENKINS_URL_PREFIX/userContent/theme/mirantis.min.css}
19export JENKINSTHEME_JS_URL=${JENKINSTHEME_JS_URL:-$JENKINS_URL_PREFIX/userContent/theme/mirantis.min.js}
Ivan Berezovskiy3e054882018-11-30 15:54:26 +040020[ -f $JENKINS_HOME/org.codefirst.SimpleThemeDecorator.xml ] || cat /opt/org.codefirst.SimpleThemeDecorator.xml | envsubst > $JENKINS_HOME/org.codefirst.SimpleThemeDecorator.xml
Ivan Berezovskiyaf370ed2020-01-17 15:06:51 +040021[ ! -e $JENKINS_HOME/secret.key ] && echo -n $(openssl rand -hex 32) > $JENKINS_HOME/secret.key # echo without EOL symbol
22chmod 0600 $JENKINS_HOME/secret.key
Filip Pytloune9e6f562016-08-31 16:30:33 +020023
Nicolas De Loof07c307d2014-10-07 14:02:42 +020024# if `docker run` first argument start with `--` the user is passing jenkins launcher arguments
25if [[ $# -lt 1 ]] || [[ "$1" == "--"* ]]; then
Charles Duffybbbb76d2016-09-20 11:42:02 -050026
27 # read JAVA_OPTS and JENKINS_OPTS into arrays to avoid need for eval (and associated vulnerabilities)
28 java_opts_array=()
29 while IFS= read -r -d '' item; do
30 java_opts_array+=( "$item" )
Charles Duffy837f9a62016-09-27 16:14:25 -050031 done < <([[ $JAVA_OPTS ]] && xargs printf '%s\0' <<<"$JAVA_OPTS")
Charles Duffybbbb76d2016-09-20 11:42:02 -050032
33 jenkins_opts_array=( )
34 while IFS= read -r -d '' item; do
35 jenkins_opts_array+=( "$item" )
Charles Duffy837f9a62016-09-27 16:14:25 -050036 done < <([[ $JENKINS_OPTS ]] && xargs printf '%s\0' <<<"$JENKINS_OPTS")
Charles Duffybbbb76d2016-09-20 11:42:02 -050037
38 exec java "${java_opts_array[@]}" -jar /usr/share/jenkins/jenkins.war "${jenkins_opts_array[@]}" "$@"
Nicolas De Loof07c307d2014-10-07 14:02:42 +020039fi
40
annerajb4d9ddc92016-11-15 14:23:58 -040041# As argument is not jenkins, assume user want to run his own process, for example a `bash` shell to explore this image
Nicolas De loofb2b442e2014-10-08 08:05:02 +020042exec "$@"