summaryrefslogtreecommitdiffstats
path: root/bin/jenkins_master_wrapper.sh
diff options
context:
space:
mode:
authorPhilip Hands <phil@hands.com>2016-07-19 19:49:44 +0200
committerHolger Levsen <holger@layer-acht.org>2016-07-19 23:15:17 +0200
commit7099cf784398347093d6d3c96975fd4b4c4dcd5e (patch)
tree64117d6b6f3baa74cee9ff5797df663d3c627c31 /bin/jenkins_master_wrapper.sh
parentd79d7c0c953eee95167b96b2caa2af286f296ff7 (diff)
downloadjenkins.debian.net-7099cf784398347093d6d3c96975fd4b4c4dcd5e.tar.xz
do artifact retrieval in the master wrapper
Signed-off-by: Holger Levsen <holger@layer-acht.org>
Diffstat (limited to 'bin/jenkins_master_wrapper.sh')
-rwxr-xr-xbin/jenkins_master_wrapper.sh24
1 files changed, 22 insertions, 2 deletions
diff --git a/bin/jenkins_master_wrapper.sh b/bin/jenkins_master_wrapper.sh
index 7aefb747..7b5c1ff3 100755
--- a/bin/jenkins_master_wrapper.sh
+++ b/bin/jenkins_master_wrapper.sh
@@ -26,6 +26,7 @@ case $JOB_NAME in
rebootstrap_*) PARAMS="$JOB_NAME $@"
;;
lvc_*) PARAMS="$JOB_NAME $EXECUTOR_NUMBER TRIGGERING_BRANCH=${TRIGGERING_BRANCH:-} $@"
+ RETRIEVE_ARTIFACTS=yes
export
;;
*) PARAMS="$JOB_NAME"
@@ -50,6 +51,25 @@ if [ $RESULT -ne 0 ] ; then
exec /srv/jenkins/bin/abort.sh
fi
set -e
-# finally
-exec ssh -o "BatchMode = yes" -p $PORT $NODE_NAME "$PARAMS"
+# run things on the target node
+RETVAL=0
+ssh -o "BatchMode = yes" -p $PORT $NODE_NAME "$PARAMS" || {
+ # mention failures, but continue since we might want the artifacts anyway
+ RETVAL=$?
+ printf "\nnSSH EXIT CODE: %s\n" $RETVAL
+}
+# grab artifacts and tidy up at the other end
+if [ "$RETRIEVE_ARTIFACTS" ] ; then
+ RESULTS="$WORKSPACE/results"
+ NODE_RESULTS="/var/libjenkins/jobs/$JOB_NAME/workspace/results"
+
+ echo "$(date -u) - retrieving artifacts."
+ set -x
+ mkdir -p $RESULTS
+ rsync -r -v -e "ssh -o 'Batchmode = yes'" "$NODE_NAME:$NODE_RESULTS/" "$RESULTS/"
+ chmod 775 /$WORKSPACE/results/
+ ssh -o "BatchMode = yes" -p $PORT $NODE_NAME "rm -rf '$NODE_RESULTS'"
+fi
+
+exit $RETVAL