3 set +e # Do not affect the build result if some part of archiving fails.
5 ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER"
6 [ "$LOGS_SERVER" ] || LOGS_SERVER="https://logs.opendaylight.org"
7 [ "$LOGS_REPO_URL" ] || LOGS_REPO_URL="https://nexus.opendaylight.org/service/local/repositories/logs"
9 echo "Build logs: <a href=\"$LOGS_SERVER/$SILO/$ARCHIVES_DIR\">$LOGS_SERVER/$SILO/$ARCHIVES_DIR</a>"
14 cat > deploy-archives.xml <<EOF
15 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
16 <modelVersion>4.0.0</modelVersion>
17 <groupId>logs</groupId>
18 <artifactId>logs</artifactId>
19 <version>1.0.0</version>
20 <packaging>pom</packaging>
25 <groupId>org.apache.maven.plugins</groupId>
26 <artifactId>maven-deploy-plugin</artifactId>
27 <version>2.8.2</version>
33 <groupId>org.sonatype.plugins</groupId>
34 <artifactId>maven-upload-plugin</artifactId>
35 <version>0.0.1</version>
41 <goal>upload-file</goal>
44 <serverId>opendaylight-log-archives</serverId>
45 <repositoryUrl>$LOGS_REPO_URL/content-compressed</repositoryUrl>
46 <file>archives.zip</file>
47 <repositoryPath>$SILO</repositoryPath>
57 mkdir -p $ARCHIVES_DIR
58 mkdir -p $WORKSPACE/archives
59 if [ ! -z "${{ARCHIVE_ARTIFACTS}}" ]; then
61 shopt -s globstar # Enable globstar to copy archives
62 archive_artifacts=$(echo ${{ARCHIVE_ARTIFACTS}})
63 for f in $archive_artifacts; do
65 mkdir -p $WORKSPACE/archives/$(dirname $f)
66 mv $f $WORKSPACE/archives/$f
68 shopt -u globstar # Disable globstar once archives are copied
71 # Ignore logging if archives doesn't exist
72 mv $WORKSPACE/archives/ $ARCHIVES_DIR > /dev/null 2>&1
73 touch $ARCHIVES_DIR/_build-details.txt
74 echo "build-url: ${{BUILD_URL}}" >> $ARCHIVES_DIR/_build-details.txt
75 env > $ARCHIVES_DIR/_build-enviroment-variables.txt
78 touch $ARCHIVES_DIR/_sys-info.txt
80 echo -e "uname -a:\n `uname -a` \n"
81 echo -e "df -h:\n `df -h` \n"
82 echo -e "free -m:\n `free -m` \n"
83 echo -e "nproc:\n `nproc` \n"
84 echo -e "lscpu:\n `lscpu` \n"
85 echo -e "ip addr:\n `/sbin/ip addr` \n"
86 }} 2>&1 | tee -a $ARCHIVES_DIR/_sys-info.txt
88 # Magic string used to trim console logs at the appropriate level during wget
89 echo "-----END_OF_BUILD-----"
90 wget -O $ARCHIVES_DIR/_console-output.log ${{BUILD_URL}}consoleText
91 sed -i '/^-----END_OF_BUILD-----$/,$d' $ARCHIVES_DIR/_console-output.log
93 gzip $ARCHIVES_DIR/*.txt $ARCHIVES_DIR/*.log
94 # find and gzip any 'text' files
95 find $ARCHIVES_DIR -type f -print0 \
97 | egrep -e ':.*text.*' \
99 | xargs -d'\n' -r gzip
101 zip -r archives.zip $JENKINS_HOSTNAME/