From 4eb98fadc807c67bdf5864dfffde479d11a68435 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Wed, 4 Dec 2019 13:04:13 -0800 Subject: [PATCH] adding in unique tagging for concurrency fixes --- .gitlab-ci.yml | 1 + scripts/build-image.sh | 1 + scripts/push-rolling-image.sh | 6 +++--- scripts/push-test-image.sh | 1 + scripts/remove-pipeline-tag.sh | 24 ++++++++++++++++++++++++ 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 scripts/remove-pipeline-tag.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ddaa883..1268e4e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,6 +39,7 @@ publish_rolling_image: stage: "publish-rolling" script: - ./scripts/push-rolling-image.sh + - ./scripts/remove-pipeline-tag.sh tags: - builder - ubuntu diff --git a/scripts/build-image.sh b/scripts/build-image.sh index 2affa83..c5bc518 100755 --- a/scripts/build-image.sh +++ b/scripts/build-image.sh @@ -17,6 +17,7 @@ RELEASE_INFO=${RELEASE_INFO:-N/A} } || { TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} } +TAG=${CI_PIPELINE_IID}-${TAG} case "${OS_DISTRO}" in rhel) diff --git a/scripts/push-rolling-image.sh b/scripts/push-rolling-image.sh index 693b22b..823d990 100755 --- a/scripts/push-rolling-image.sh +++ b/scripts/push-rolling-image.sh @@ -24,8 +24,8 @@ RELEASE_INFO=${RELEASE_INFO:-N/A} TAG=${TAG:-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} } -docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${TAG} -docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${TAG} ${REGISTRY_URL}/${CONTAINER}:${TAG} -docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${TAG} ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} +docker pull ${REGISTRY_URL}/${CONTAINER}:${CI_PIPELINE_IID}-test-build-${TAG} +docker tag ${REGISTRY_URL}/${CONTAINER}:${CI_PIPELINE_IID}-test-build-${TAG} ${REGISTRY_URL}/${CONTAINER}:${TAG} +docker tag ${REGISTRY_URL}/${CONTAINER}:${CI_PIPELINE_IID}-test-build-${TAG} ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} docker push ${REGISTRY_URL}/${CONTAINER}:${TAG} docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} \ No newline at end of file diff --git a/scripts/push-test-image.sh b/scripts/push-test-image.sh index c92dd0a..6743105 100755 --- a/scripts/push-test-image.sh +++ b/scripts/push-test-image.sh @@ -17,6 +17,7 @@ RELEASE_INFO=${RELEASE_INFO:-N/A} } || { TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} } +TAG=${CI_PIPELINE_IID}-${TAG} docker tag ${CONTAINER}:${TAG} ${REGISTRY_URL}/${CONTAINER}:${TAG} \ && docker push ${REGISTRY_URL}/${CONTAINER}:${TAG} \ diff --git a/scripts/remove-pipeline-tag.sh b/scripts/remove-pipeline-tag.sh new file mode 100644 index 0000000..812903f --- /dev/null +++ b/scripts/remove-pipeline-tag.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Bring in the variables from SOLUTION file, supporting +# nested substitution +. SOLUTION +. MANIFEST + +VARS=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION)) +VARS+=($(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST)) +for var in ${VARS[@]}; do + export ${var} +done + +RELEASE_INFO=${RELEASE_INFO:-N/A} +[[ "${RELEASE_INFO}" == "N/A" ]] && { + TAG=${TAG:-test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d)} +} || { + TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} +} +TAG=${CI_PIPELINE_IID}-${TAG} + +curl -i -k -u ${HARBOR_USER}:${HARBOR_PASSWD} \ + -X DELETE "https://amr-registry.caas.intel.com/api/repositories/vtt-osgc%2Fsolutions%2F${CONTAINER}/tags/${TAG}" \ + -H "accept: application/json" \ No newline at end of file