#!/bin/bash # ============LICENSE_START======================================================= # Copyright (C) 2020 The Nordix Foundation. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= set -o errexit set -o nounset set -o pipefail # Make directory to hold docker image artifacts mkdir -p $DOCKER_IMAGE_ARTIFACT_DIRECTORY # Ensure at root of WORKSPACE cd $WORKSPACE # For each docker image for DOCKER_IMAGE in $(echo $DOCKER_IMAGES | tr "," "\n") do echo "----------------------------------------------------" echo "Info: Archiving $DOCKER_IMAGE" echo "----------------------------------------------------" # Generate a name for the archive from its docker image name # e.g. uds/sdc-customization/eo-cassandra-init becomes eo-cassandra-init DOCKER_IMAGE_TAG=$(docker images $DOCKER_IMAGE | awk '{ print $2}' | sed -n '2p') # Create docker tag for filename using uds build version e.g. 1.5-STAGING-latest DOCKER_IMAGE_NAME=$(echo $DOCKER_IMAGE | awk -F/ '{print $NF}') # Create docker tag for filename using timestamp e.g. 1.5.0-20200610T134812Z #DOCKER_IMAGE_TAG=$(docker images $DOCKER_IMAGE | awk '{ print $2}' | sed -n '3p') # Create the archive.tar.gz # Naming convention --.tar.gz # Includes SHA commit ids of the projects for traceability of the artifacts # e.g. eo-cassandra-init-1.7-STAGING-latest-6d3abef-d96bad4.tar.gz docker save $DOCKER_IMAGE | gzip -c > $DOCKER_IMAGE_ARTIFACT_DIRECTORY/$DOCKER_IMAGE_NAME-$DOCKER_IMAGE_TAG-$COMMIT_IDS.tar.gz done