image: docker:latest services: - name: docker:dind command: ["--tls=false"] # Disable TLS for Docker-in-Docker variables: DOCKER_HOST: "tcp://docker:2375" DOCKER_TLS_CERTDIR: "" DOCKER_DRIVER: overlay2 before_script: - apk add --no-cache docker-cli - | # Wait for Docker to be ready until docker info; do echo "Waiting for Docker to be ready..." sleep 5 done stages: - build - push build: stage: build script: - docker info - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG . - docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest push: stage: push script: - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG - docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest only: - main