From 8404f50154e44499bfaf45531fe3f218afd2802d Mon Sep 17 00:00:00 2001 From: Andrei Gherzan <andrei.gherzan@huawei.com> Date: Mon, 4 Apr 2022 17:24:33 +0200 Subject: [PATCH] ci: Deploy container images to OSTC docker registry The EF infrastructure (GitLab) doesn't support image registry. This moves the CI logic of building and deploying all the container images to the OSTC instance while EF catches up[1]. [1] https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1108 Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> --- .gitlab-ci.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6ec63fa2..5d8c4744 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -168,10 +168,22 @@ lava-report: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: + - test -n "$CI_ONIRO_REGISTRY" || ( + echo "CI_ONIRO_REGISTRY not provided. Docker registry deployment can not continue." + && exit 1 ) + - test -n "$CI_ONIRO_REGISTRY_IMAGE" || ( + echo "CI_ONIRO_REGISTRY_IMAGE not provided. Docker registry deployment can not continue." + && exit 1 ) + - test -n "$CI_ONIRO_REGISTRY_USER" || ( + echo "CI_ONIRO_REGISTRY_USER not provided. Docker registry deployment can not continue." + && exit 1 ) + - test -n "$CI_ONIRO_REGISTRY_TOKEN" || ( + echo "CI_ONIRO_REGISTRY_TOKEN not provided. Docker registry deployment can not continue." + && exit 1 ) - | set -xe mkdir -p /kaniko/.docker - printf '{"auths":{"%s":{"auth":"%s"}}}\n' "$CI_REGISTRY" "$(printf '%s:%s' "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64)" > /kaniko/.docker/config.json + printf '{"auths":{"%s":{"auth":"%s"}}}\n' "$CI_ONIRO_REGISTRY" "$(printf '%s:%s' "$CI_ONIRO_REGISTRY_USER" "$CI_ONIRO_REGISTRY_TOKEN" | base64)" > /kaniko/.docker/config.json BUILD_DATE="$(date '+%FT%T%z' | sed -E -n 's/(\+[0-9]{2})([0-9]{2})$/\1:\2/p')" #rfc 3339 date BUILD_TITLE=$(echo "$CI_PROJECT_TITLE" | tr " " "_") IMAGE_LABELS="$(cat <<EOM @@ -188,7 +200,7 @@ lava-report: --label org.opencontainers.image.description=$BUILD_TITLE --label org.opencontainers.image.documentation=$CI_PROJECT_URL --label org.opencontainers.image.licenses=$CI_PROJECT_URL - --label org.opencontainers.image.ref.name=$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + --label org.opencontainers.image.ref.name=$CI_ONIRO_REGISTRY:$CI_COMMIT_REF_NAME --label org.opencontainers.image.revision=$CI_COMMIT_SHA --label org.opencontainers.image.source=$CI_PROJECT_URL --label org.opencontainers.image.title=$BUILD_TITLE @@ -211,8 +223,8 @@ lava-report: fi FORMATTED_TAG_LIST="$(echo "$FORMATTED_TAG_LIST" | sed -e 's/--tag/--destination/g')" - echo "Building and shipping image to $CI_REGISTRY_IMAGE" - exec /kaniko/executor --context "$CI_PROJECT_DIR/.oniro-ci/containers/$CONTAINER_PATH" --dockerfile "$CI_PROJECT_DIR/.oniro-ci/containers/$CONTAINER_PATH/Dockerfile" --destination $CI_REGISTRY_IMAGE/$CONTAINER_PATH $IMAGE_LABELS + echo "Building and shipping image to $CI_ONIRO_REGISTRY" + exec /kaniko/executor --context "$CI_PROJECT_DIR/.oniro-ci/containers/$CONTAINER_PATH" --dockerfile "$CI_PROJECT_DIR/.oniro-ci/containers/$CONTAINER_PATH/Dockerfile" --destination $CI_ONIRO_REGISTRY_IMAGE/$CONTAINER_PATH $IMAGE_LABELS rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' changes: -- GitLab