X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Flogs-deploy.sh;h=d797fa7e690fffd0177dc3bc92a505d940efd25f;hb=a5fa8a32ab2f856fecc7505fdfd7a8e12df2c402;hp=e5c990a46ae848ca7bd9fe9c8ac12f3b20d5b62b;hpb=5df83713c9a978e7a4d1d65ce9377a8ffbf525d0;p=releng%2Fglobal-jjb.git diff --git a/shell/logs-deploy.sh b/shell/logs-deploy.sh index e5c990a4..d797fa7e 100644 --- a/shell/logs-deploy.sh +++ b/shell/logs-deploy.sh @@ -1,5 +1,5 @@ -#!/bin/bash -# @License EPL-1.0 +#!/bin/bash -l +# SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2017 The Linux Foundation and others. # @@ -8,25 +8,59 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################## +echo "---> logs-deploy.sh" -set -x # Trace commands for this script to make debugging easier. +# shellcheck disable=SC1090 +source ~/lf-env.sh +lf-activate-venv --python python3.8 lftools -LOGS_SERVER="${LOGS_SERVER:-None}" +# Ensure we fail the job if any steps fail +# Disable 'globbing' +set -euf -o pipefail -if [ "${LOGS_SERVER}" == 'None' ] -then - set +x # Disable trace since we no longer need it +# 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" - echo "WARNING: Logging server not set" +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="${NEXUS_URL:-$NEXUSPROXY}" - NEXUS_PATH="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}" - BUILD_URL="${BUILD_URL}" + nexus_url="${NEXUSPROXY:-$NEXUS_URL}" + nexus_path="${SILO}/${JENKINS_HOSTNAME}/${JOB_NAME}/${BUILD_NUMBER}" + echo "INFO: Nexus URL $nexus_url path $nexus_path" + + 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:-}" - lftools deploy archives "$NEXUS_URL" "$NEXUS_PATH" "$WORKSPACE" - lftools deploy logs "$NEXUS_URL" "$NEXUS_PATH" "$BUILD_URL" + 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" - set +x # Disable trace since we no longer need it. + echo "INFO: archiving logs to S3" + # shellcheck disable=SC2086 + lftools deploy s3 ${pattern_opts:-} "$S3_BUCKET" "$s3_path" \ + "$BUILD_URL" "$WORKSPACE" - echo "Build logs: $LOGS_SERVER/$NEXUS_PATH" + echo "S3 build logs: https://$CDN_URL/$s3_path" fi