variables: HARBOR_REGISTRY: harbor-in-k3s.cheverjohn.me HARBOR_PROJECT: iloom DOCKER_TLS_CERTDIR: "/certs" DOCKER_HOST: tcp://localhost:2376 DOCKER_TLS_VERIFY: "1" DOCKER_CERT_PATH: /certs/client stages: - build .build-template: stage: build image: docker:27 services: - name: docker:27-dind command: ["--dns", "10.43.0.10", "--dns", "223.5.5.5"] retry: 2 before_script: - until docker info >/dev/null 2>&1; do echo "Waiting for Docker daemon..."; sleep 2; done - echo "${HARBOR_PASS}" | docker login ${HARBOR_REGISTRY} -u "${HARBOR_USER}" --password-stdin script: - | if [ -n "$CI_COMMIT_TAG" ]; then TAG="$CI_COMMIT_TAG" elif [ "$CI_COMMIT_BRANCH" = "main" ]; then TAG="main-${CI_COMMIT_SHORT_SHA}" else TAG="feat-${CI_COMMIT_SHORT_SHA}" fi - IMAGE=${HARBOR_REGISTRY}/${HARBOR_PROJECT}/${IMAGE_NAME}:${TAG} - docker build --network host --build-arg BASE_REGISTRY=${HARBOR_REGISTRY}/library -f Dockerfile -t ${IMAGE} . - docker push ${IMAGE} rules: - if: $CI_COMMIT_BRANCH == "main" - if: $CI_COMMIT_TAG =~ /^v/ - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_BRANCH =~ /^feat\// build-portal: extends: .build-template variables: IMAGE_NAME: muyu-portal