From 6cf37c63577b1feca18229315ed0aa719a8c43db Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Tue, 3 Dec 2019 15:26:54 -0800 Subject: [PATCH 1/5] packaged ci commands into file --- .gitlab-ci.yml | 14 +++------ scripts/push-rolling-image.sh | 31 +++++++++++++++++++ scripts/{push-image.sh => push-test-image.sh} | 0 3 files changed, 36 insertions(+), 9 deletions(-) create mode 100755 scripts/push-rolling-image.sh rename scripts/{push-image.sh => push-test-image.sh} (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 42f4a3c..ddaa883 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,9 +17,9 @@ variables: build_devel_image: stage: "build-devel" script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && scripts/build-dockerfile.sh && scripts/build-image.sh - - docker tag ${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) + - ./scripts/build-dockerfile.sh + - ./scripts/build-image.sh + - ./scripts/push-test-image.sh tags: - builder - ubuntu @@ -29,7 +29,7 @@ build_devel_image: test_devel_image: stage: "test-devel" script: - - export TAG=test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) && ./scripts/test-tag.sh + - ./scripts/test-tag.sh tags: - gen9 only: @@ -38,11 +38,7 @@ test_devel_image: publish_rolling_image: stage: "publish-rolling" script: - - docker pull ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker tag ${REGISTRY_URL}/${CONTAINER}:test-build-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} - - docker push ${REGISTRY_URL}/${CONTAINER}:${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d) - - docker push ${REGISTRY_URL}/${CONTAINER}:latest-${OS_DISTRO}-${PACKAGE_STREAM} + - ./scripts/push-rolling-image.sh tags: - builder - ubuntu diff --git a/scripts/push-rolling-image.sh b/scripts/push-rolling-image.sh new file mode 100755 index 0000000..693b22b --- /dev/null +++ b/scripts/push-rolling-image.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# Determine if it is Mac OS and switch to use gxargs instead +CMD=xargs +if [ $(which system_profiler) ]; then + CMD=gxargs +fi + +# 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:-${OS_DISTRO}-${PACKAGE_STREAM}-$(date +%Y%m%d)} +} || { + 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 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-image.sh b/scripts/push-test-image.sh similarity index 100% rename from scripts/push-image.sh rename to scripts/push-test-image.sh From 4eb98fadc807c67bdf5864dfffde479d11a68435 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Wed, 4 Dec 2019 13:04:13 -0800 Subject: [PATCH 2/5] 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 From c9df42f8b8655b62a3a0726cffc8f45aae15f2f8 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Wed, 4 Dec 2019 13:12:03 -0800 Subject: [PATCH 3/5] adding pipeline id to test script --- scripts/test-tag.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/test-tag.sh b/scripts/test-tag.sh index 11ab458..97e6c13 100755 --- a/scripts/test-tag.sh +++ b/scripts/test-tag.sh @@ -23,6 +23,7 @@ RELEASE_INFO=${RELEASE_INFO:-N/A} } || { TAG=${TAG:-test-${OS_DISTRO}-${PACKAGE_STREAM}-${RELEASE_INFO}} } +TAG=${CI_PIPELINE_IID}-${TAG} docker pull ${REGISTRY_URL}/${CONTAINER}:${TAG} From 0ed1ae2e8c8613d7ef349fbcddedefeab7c6337a Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Wed, 4 Dec 2019 13:21:54 -0800 Subject: [PATCH 4/5] updating file permissions --- scripts/remove-pipeline-tag.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/remove-pipeline-tag.sh diff --git a/scripts/remove-pipeline-tag.sh b/scripts/remove-pipeline-tag.sh old mode 100644 new mode 100755 From 19aa23a09473d3c904862ef255c9ff86225b0706 Mon Sep 17 00:00:00 2001 From: Jason L Hannan Date: Tue, 17 Dec 2019 13:31:14 -0800 Subject: [PATCH 5/5] updating for new CI trigger --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1268e4e..4cbeadd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ stages: # PACKAGE_STREAM: ex. eoan variables: - ci_token: "38569832d11dfd78ba2a457ebb5b99" + ci_enabled: "true" PACKAGE_REPOSITORY: "https://repositories.intel.com/graphics" REGISTRY_URL: "amr-registry.caas.intel.com/vtt-osgc/solutions" CONTAINER: "intel-media-ffmpeg"