-#!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+#!/bin/bash -l
+# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
#
# 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.
+# Ensure we fail the job if any steps fail
+# Disable 'globbing'
+set -euf -o pipefail
-LOGS_SERVER="${LOGS_SERVER:-None}"
+function get_pattern_opts()
+{
+ opts=()
+ for arg in ${ARCHIVE_ARTIFACTS:-}; do
+ opts+=("-p" "$arg)")
+ done
+ echo "${opts[@]-}"
+}
-if [ "${LOGS_SERVER}" == 'None' ]
-then
- set +x # Disable trace since we no longer need it
+pattern_opts="$(get_pattern_opts)"
- echo "WARNING: Logging server not set"
+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"
- lftools deploy archives "$NEXUS_URL" "$NEXUS_PATH" "$WORKSPACE"
- lftools deploy logs "$NEXUS_URL" "$NEXUS_PATH" "$BUILD_URL"
+ echo "INFO: archiving workspace using pattern(s): $ARCHIVE_ARTIFACTS"
+ lftools deploy archives ${pattern_opts:+"$pattern_opts"} "$nexus_url" "$nexus_path" "$WORKSPACE"
- set +x # Disable trace since we no longer need it.
+ echo "INFO: archiving logs"
+ lftools deploy logs "$nexus_url" "$nexus_path" "${BUILD_URL:-}"
- echo "Build logs: <a href=\"$LOGS_SERVER/$NEXUS_PATH\">$LOGS_SERVER/$NEXUS_PATH</a>"
+ echo "Build logs: <a href=\"$LOGS_SERVER/$nexus_path\">$LOGS_SERVER/$nexus_path</a>"
fi
+
+if [[ -z ${S3_BUCKET:-} ]]; then
+ echo "WARNING: S3 logging server not set"
+else
+ s3_path="$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER/"
+ echo "INFO: S3 path $s3_path"
+
+ lftools deploy s3 ${pattern_opts:+"$pattern_opts"} "$S3_BUCKET" "$s3_path" \
+ "$BUILD_URL" "$WORKSPACE"
+
+ echo "Build logs: <a href=\"https://$CDN_URL/$s3_path\"></a>"
+fi
+