#!/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