workflow: rules: - if: '$CI_PIPELINE_SOURCE == "web"' - when: never stages: - publish variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 DEFAULT_IMAGE_REPO: swr.cn-north-1.myhuaweicloud.com/sino-bridge/sinocode-analytics PUSH_LATEST: "true" publish:huawei-swr: stage: publish image: docker:28.0.4-cli services: - name: docker:28.0.4-dind command: ["--tls=false"] script: - | if [ -z "${DOCKER_LOGIN_COMMAND:-}" ]; then echo "Set DOCKER_LOGIN_COMMAND when running the pipeline." exit 1 fi - sh -lc "$DOCKER_LOGIN_COMMAND" - | IMAGE_REPO="${IMAGE_REPO:-$DEFAULT_IMAGE_REPO}" IMAGE_TAG="${IMAGE_TAG:-$CI_COMMIT_SHORT_SHA}" IMAGE_REF="$IMAGE_REPO:$IMAGE_TAG" echo "Building $IMAGE_REF" docker build --pull -t "$IMAGE_REF" . docker push "$IMAGE_REF" if [ "${PUSH_LATEST:-true}" = "true" ]; then LATEST_REF="$IMAGE_REPO:latest" docker tag "$IMAGE_REF" "$LATEST_REF" docker push "$LATEST_REF" fi echo "Published $IMAGE_REF"