X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Flogs-deploy.sh;h=d797fa7e690fffd0177dc3bc92a505d940efd25f;hb=2c01d1c4b9b284118e2854494366e76d41e447f8;hp=44ec180ffd9ea7f151ea72f6874e7c77716694fa;hpb=6672511a43ad2dd924cd4ff7b9bb446ccd974f05;p=releng%2Fglobal-jjb.git
diff --git a/shell/logs-deploy.sh b/shell/logs-deploy.sh
index 44ec180f..d797fa7e 100644
--- a/shell/logs-deploy.sh
+++ b/shell/logs-deploy.sh
@@ -10,33 +10,57 @@
##############################################################################
echo "---> logs-deploy.sh"
+# shellcheck disable=SC1090
+source ~/lf-env.sh
+lf-activate-venv --python python3.8 lftools
+
# Ensure we fail the job if any steps fail
# Disable 'globbing'
set -euf -o pipefail
-if [[ -z $"${LOGS_SERVER:-}" ]]; then
- echo "WARNING: Logging server not set"
+# The 'lftool deploy archives' command below expects the archives
+# directory to exist. Normally lf-infra-sysstat or similar would
+# create it and add content, but to make sure this script is
+# self-contained, we ensure it exists here.
+mkdir -p "$WORKSPACE/archives"
+
+get_pattern_opts () {
+ opts=()
+ for arg in ${ARCHIVE_ARTIFACTS:-}; do
+ opts+=("-p" "$arg")
+ done
+ echo "${opts[@]-}"
+}
+
+pattern_opts=$(get_pattern_opts)
+
+if [[ -z ${LOGS_SERVER:-} ]]; then
+ echo "WARNING: Nexus logging server not set"
else
nexus_url="${NEXUSPROXY:-$NEXUS_URL}"
nexus_path="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}"
echo "INFO: Nexus URL $nexus_url path $nexus_path"
- if [[ -n ${ARCHIVE_ARTIFACTS:-} ]] ; then
- # Handle multiple search extensions as separate values to '-p|--pattern'
- # "arg1 arg2" -> (-p arg1 -p arg2)
- pattern_opts=()
- for arg in $ARCHIVE_ARTIFACTS; do
- pattern_opts+=("-p" "$arg")
- done
- echo "INFO: archiving workspace using pattern(s): $ARCHIVE_ARTIFACTS"
- lftools deploy archives "${pattern_opts[@]}" \
- "$nexus_url" "$nexus_path" "$WORKSPACE"
- else
- echo "INFO: archiving workspace"
- lftools deploy archives "$nexus_url" "$nexus_path" "$WORKSPACE"
- fi
- echo "INFO: archiving logs"
+ echo "INFO: archiving workspace using pattern(s): ${pattern_opts:-}"
+ # shellcheck disable=SC2086
+ lftools deploy archives ${pattern_opts:-} "$nexus_url" "$nexus_path" "$WORKSPACE"
+
+ echo "INFO: archiving logs to Nexus"
lftools deploy logs "$nexus_url" "$nexus_path" "${BUILD_URL:-}"
- echo "Build logs: $LOGS_SERVER/$nexus_path"
+ echo "Nexus build logs: $LOGS_SERVER/$nexus_path"
+fi
+
+if [[ -z ${S3_BUCKET:-} ]]; then
+ echo "WARNING: S3 logging server not set"
+else
+ s3_path="logs/$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER/"
+ echo "INFO: S3 path $s3_path"
+
+ echo "INFO: archiving logs to S3"
+ # shellcheck disable=SC2086
+ lftools deploy s3 ${pattern_opts:-} "$S3_BUCKET" "$s3_path" \
+ "$BUILD_URL" "$WORKSPACE"
+
+ echo "S3 build logs: https://$CDN_URL/$s3_path"
fi