#!/bin/bash ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER" LOGS_SERVER="https://logs.opendaylight.org" echo "Build logs: $LOGS_SERVER/$SILO/$ARCHIVES_DIR" mkdir .archives cd .archives/ cat > deploy-archives.xml < 4.0.0 logs logs 1.0.0 pom org.apache.maven.plugins maven-deploy-plugin 2.8.2 true org.sonatype.plugins maven-upload-plugin 0.0.1 publish-site deploy upload-file opendaylight-log-archives https://nexus.opendaylight.org/service/local/repositories/logs/content-compressed archives.zip $SILO EOF mkdir -p $ARCHIVES_DIR mkdir -p $WORKSPACE/archives if [ ! -z "${{ARCHIVE_ARTIFACTS}}" ]; then pushd $WORKSPACE shopt -s globstar # Enable globstar to copy archives archive_artifacts=$(echo ${{ARCHIVE_ARTIFACTS}}) for f in $archive_artifacts; do echo "Archiving $f" mkdir -p $WORKSPACE/archives/$(dirname $f) mv $f $WORKSPACE/archives/$f done shopt -u globstar # Disable globstar once archives are copied popd fi # Ignore logging if archives doesn't exist mv $WORKSPACE/archives/ $ARCHIVES_DIR > /dev/null 2>&1 touch $ARCHIVES_DIR/_build-details.txt echo "build-url: ${{BUILD_URL}}" >> $ARCHIVES_DIR/_build-details.txt env > $ARCHIVES_DIR/_build-enviroment-variables.txt # Magic string used to trim console logs at the appropriate level during wget echo "-----END_OF_BUILD-----" wget -O $ARCHIVES_DIR/_console-output.log ${{BUILD_URL}}consoleText sed -i '/^-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/_console-output.log gzip $ARCHIVES_DIR/*.txt $ARCHIVES_DIR/*.log # find and gzip any 'text' files find $ARCHIVES_DIR -type f -print0 \ | xargs -0r file \ | egrep -e ':.*text.*' \ | cut -d: -f1 \ | xargs -d'\n' -r gzip zip -r archives.zip $JENKINS_HOSTNAME/ du -sh archives.zip