From 4c5d642dcce58195c6ecaca6dfc58c2961655b04 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 30 Oct 2025 19:17:37 +0100 Subject: [PATCH] refactor: use plugins/docker instead of manual dind setup --- .drone.yml | 53 +++++++++++------------------------------------------ 1 file changed, 11 insertions(+), 42 deletions(-) diff --git a/.drone.yml b/.drone.yml index 2c77dc2..4da900f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,13 +2,6 @@ kind: pipeline type: docker name: build-and-publish -services: - - name: docker - image: docker:dind - privileged: true - environment: - DOCKER_TLS_CERTDIR: "" # Disable TLS and Unix socket - use TCP only - trigger: branch: - main @@ -19,43 +12,19 @@ trigger: steps: - name: build-and-publish-container - image: docker:cli - environment: - DOCKER_HOST: tcp://docker:2375 # Connect to dind service - REGISTRY: git.local-it.org/ci-builder - IMAGE_NAME: mitgliederverwaltung - REGISTRY_USERNAME: + image: plugins/docker + settings: + registry: git.local-it.org + repo: git.local-it.org/ci-builder/mitgliederverwaltung + username: from_secret: DRONE_REGISTRY_USERNAME - REGISTRY_TOKEN: + password: from_secret: DRONE_REGISTRY_TOKEN - commands: - - sleep 5 # give docker time to start - - docker info # verify docker is ready - # Build image once - - docker build --tag $REGISTRY/$IMAGE_NAME:build-$DRONE_BUILD_NUMBER . - # Login to registry - - echo "$REGISTRY_TOKEN" | docker login --username "$REGISTRY_USERNAME" --password-stdin git.local-it.org - # Tag and push based on event type - - | - if [ "$DRONE_BUILD_EVENT" = "tag" ]; then - # For tag events: use tag version (e.g., v1.0.0 -> 1.0.0) and latest - VERSION=$(echo $DRONE_TAG | sed 's/^v//') - echo "Tagging and pushing version $VERSION" - docker tag $REGISTRY/$IMAGE_NAME:build-$DRONE_BUILD_NUMBER $REGISTRY/$IMAGE_NAME:$VERSION - docker tag $REGISTRY/$IMAGE_NAME:build-$DRONE_BUILD_NUMBER $REGISTRY/$IMAGE_NAME:latest - docker push $REGISTRY/$IMAGE_NAME:$VERSION - docker push $REGISTRY/$IMAGE_NAME:latest - else - # For main branch pushes: use commit SHA and latest - echo "Tagging and pushing commit $DRONE_COMMIT_SHA" - docker tag $REGISTRY/$IMAGE_NAME:build-$DRONE_BUILD_NUMBER $REGISTRY/$IMAGE_NAME:$DRONE_COMMIT_SHA - docker tag $REGISTRY/$IMAGE_NAME:build-$DRONE_BUILD_NUMBER $REGISTRY/$IMAGE_NAME:latest - docker push $REGISTRY/$IMAGE_NAME:$DRONE_COMMIT_SHA - docker push $REGISTRY/$IMAGE_NAME:latest - fi - - -# No volumes needed - docker:cli connects to dind service via TCP + tags: + - latest + - ${DRONE_COMMIT_SHA} + auto_tag: true + auto_tag_suffix: linux-amd64 --- kind: pipeline