diff options
Diffstat (limited to 'integration/src/release_scripts/mkdock.sh')
-rwxr-xr-x | integration/src/release_scripts/mkdock.sh | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/integration/src/release_scripts/mkdock.sh b/integration/src/release_scripts/mkdock.sh deleted file mode 100755 index 0df4abad..00000000 --- a/integration/src/release_scripts/mkdock.sh +++ /dev/null @@ -1,154 +0,0 @@ -#!/bin/bash - -# -# ============LICENSE_START================================================ -# ONAP -# ========================================================================= -# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. -# Modifications Copyright (C) 2022 Nordix Foundation. -# ========================================================================= -# 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. -# ============LICENSE_END================================================== -# - -# -# This creates the x.y.z-container.yaml file for releasing a docker image. -# It should be executed from somewhere within the "git" repo to be -# released. Assumes the following: -# - the latest commit is at the top of the "git log" -# - the branch to be released is currently checked out -# - the latest maven-docker-stage jenkins job is the one to be released -# - the defaultbranch within the .gitreview file is set to the -# branch to be released -# -# This uses xmllint, which is part of the libxml2-utils package. -# -# If behind a firewall, then http_proxy must be set so that curl -# can get through the firewall. -# - -set -e - -# Use the bash internal OSTYPE variable to check for MacOS -if [[ "$OSTYPE" == "darwin"* ]] -then - SED="gsed" -else - SED="sed" -fi - -# shellcheck disable=SC2166 -if [ $# -lt 1 -o "$1" = "-?" ] -then - echo "arg(s): docker-container-name1 docker-container-name2 ..." >&2 - exit 1 -fi - -TOPDIR=$(git rev-parse --show-toplevel) -if [ -z "${TOPDIR}" ]; then - echo "cannot determine top of 'git' repo" >&2 - exit 1 -fi - -BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${TOPDIR}/.gitreview") -if [ -z "${BRANCH}" ]; then - echo "cannot extract default branch from ${TOPDIR}/.gitreview" >&2 - exit 1 -fi -echo "Branch: ${BRANCH}" - -PROJECT=$(awk -F= '$1 == "project" { print $2 }' "${TOPDIR}/.gitreview" | - $SED 's/.git$//') -if [ -z "${PROJECT}" ]; then - echo "cannot extract project from ${TOPDIR}/.gitreview" >&2 - exit 1 -fi -echo "Project: ${PROJECT}" -DPROJ=$(echo "${PROJECT}" | $SED 's!/!-!') - -RELEASE=$( - xmllint --xpath \ - '/*[local-name()="project"]/*[local-name()="version"]/text()' \ - "${TOPDIR}/pom.xml" | - $SED 's!-SNAPSHOT!!' - ) -if [ -z "${RELEASE}" ]; then - echo "cannot extract release from ${TOPDIR}/pom.xml" >&2 - exit 1 -fi -echo "Release: ${RELEASE}" - -REF_ID=$(git log | grep commit | head -1 | awk '{ print $2 }') -if [ -z "${REF_ID}" ]; then - echo "cannot extract ref from 'git log'" >&2 - exit 1 -fi -echo "Ref: ${REF_ID}" - -prefix='https://jenkins.onap.org/view/policy/job/' -STAGE_ID=$( - curl --silent "${prefix}${DPROJ}-maven-docker-stage-${BRANCH}/" | - grep "Last completed build" | - $SED -e 's!.*Last completed build .#!!' -e 's!).*!!' | - head -1 - ) -if [ -z "${STAGE_ID}" ]; then - echo "cannot extract last docker stage ID from jenkins" >&2 - exit 1 -fi -STAGE_ID=${DPROJ}-maven-docker-stage-${BRANCH}/${STAGE_ID} -echo "Stage ID: ${STAGE_ID}" - -prefix='https://jenkins.onap.org/view/policy/job/' -JOB_OUT=$(curl --silent "${prefix}${STAGE_ID}/consoleFull") -echo "${JOB_OUT}" | grep -q "Finished: SUCCESS" -# shellcheck disable=SC2181 -if [ $? -ne 0 ]; then - echo "last docker build has not completed successfully" >&2 - exit 1 -fi - -echo "Creating ${TOPDIR}/releases/${RELEASE}-container.yaml" -cat >"${TOPDIR}/releases/${RELEASE}-container.yaml" <<EOT -distribution_type: 'container' -container_release_tag: '${RELEASE}' -project: '${DPROJ}' -log_dir: '${STAGE_ID}' -ref: ${REF_ID} -containers: -EOT - -for CONT_NAME in "$@" -do - VERSION=$( - echo "${JOB_OUT}" | - awk " - /Successfully tagged onap/ { found = 0 } - /Successfully tagged onap\/${CONT_NAME}:/ { found = 1 } - found == 1 && /Tag with/ { print } - " | - head -1 | - $SED 's!.*Tag with!!' | - cut -d, -f2 - ) - if [ -z "${VERSION}" ]; then - echo "cannot extract ${CONT_NAME} version from jenkins build output" >&2 - exit 1 - fi - echo "${CONT_NAME} version: ${VERSION}" - - cat >>"${TOPDIR}/releases/${RELEASE}-container.yaml" <<EOT_LOOP - - name: '${CONT_NAME}' - version: '${VERSION}' -EOT_LOOP -done |