Skip to content

Instantly share code, notes, and snippets.

@ajohnstone
Created December 10, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ajohnstone/d372299267ec8e6e9fb7 to your computer and use it in GitHub Desktop.
Save ajohnstone/d372299267ec8e6e9fb7 to your computer and use it in GitHub Desktop.
diff --git a/jenkins.sh b/jenkins.sh
index 97d7fcc..5de4683 100755
--- a/jenkins.sh
+++ b/jenkins.sh
@@ -2,27 +2,30 @@
set -e
+log() {
+ echo $@ | logger -t copy_reference_file;
+}
+
# Copy files from /usr/share/jenkins/ref into /var/jenkins_home
# So the initial JENKINS-HOME is set with expected content.
# Don't override, as this is just a reference setup, and use from UI
# can then change this, upgrade plugins, etc.
copy_reference_file() {
- f=${1%/}
- echo "$f" >> $COPY_REFERENCE_FILE_LOG
- rel=${f:23}
- dir=$(dirname ${f})
- echo " $f -> $rel" >> $COPY_REFERENCE_FILE_LOG
- if [[ ! -e /var/jenkins_home/${rel} ]]
- then
- echo "copy $rel to JENKINS_HOME" >> $COPY_REFERENCE_FILE_LOG
- mkdir -p /var/jenkins_home/${dir:23}
- cp -r /usr/share/jenkins/ref/${rel} /var/jenkins_home/${rel};
- # pin plugins on initial copy
- [[ ${rel} == plugins/*.jpi ]] && touch /var/jenkins_home/${rel}.pinned
- fi;
+ f=${1%/};
+ log "$f";
+ rel=${f:23};
+ dir=$(dirname ${f});
+ log " $f -> $rel";
+ [ ! -e /var/jenkins_home/${rel} ] && {
+ log "copy $rel to JENKINS_HOME";
+ mkdir -p /var/jenkins_home/${dir:23}
+ cp -r /usr/share/jenkins/ref/${rel} /var/jenkins_home/${rel};
+ # pin plugins on initial copy
+ [[ ${rel} == plugins/*.jpi ]] && touch /var/jenkins_home/${rel}.pinned
+ }
}
-export -f copy_reference_file
-echo "--- Copying files at $(date)" >> $COPY_REFERENCE_FILE_LOG
+export -f copy_reference_file log;
+log "--- Copying files at $(date) ${COPY_REFERENCE_FILE_LOG}";
find /usr/share/jenkins/ref/ -type f -exec bash -c "copy_reference_file '{}'" \;
# if `docker run` first argument start with `--` the user is passing jenkins launcher arguments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment