mitgliederverwaltung/.drone.yml
Moritz 82ee73b164
Some checks failed
continuous-integration/drone/push Build is failing
test: add ci-build-container to pipeline trigger for testing
2025-10-30 19:06:19 +01:00

91 lines
2.6 KiB
YAML

kind: pipeline
type: docker
name: build-and-publish
services:
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
trigger:
branch:
- main
- ci-build-container # TODO: Remove after testing
event:
- push
- tag
steps:
- name: build-and-publish-container
image: docker:cli
volumes:
- name: dockersock
path: /var/run
environment:
REGISTRY: git.local-it.org/ci-builder
IMAGE_NAME: mitgliederverwaltung
REGISTRY_USERNAME:
from_secret: DRONE_REGISTRY_USERNAME
REGISTRY_TOKEN:
from_secret: DRONE_REGISTRY_TOKEN
commands:
- sleep 6 # give docker time to start
# 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
volumes:
- name: dockersock
temp: {}
---
kind: pipeline
type: docker
name: renovate
trigger:
event:
- cron
- custom
branch:
- main
environment:
LOG_LEVEL: debug
steps:
- name: renovate
image: renovate/renovate:41.151
environment:
RENOVATE_CONFIG_FILE: "renovate_backend_config.js"
RENOVATE_TOKEN:
from_secret: RENOVATE_TOKEN
GITHUB_COM_TOKEN:
from_secret: GITHUB_COM_TOKEN
commands:
# https://github.com/renovatebot/renovate/discussions/15049
- unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
- renovate-config-validator
- renovate