--- depends_on: - lint clone: git: image: "woodpeckerci/plugin-git:2.5.0" settings: depth: 9999 # wird benötigt um die Commits zählen zu können lfs: false partial: false steps: set_version: image: "registry.mgrote.net/allzweckcontainer:v1.0.164" commands: - | MAJOR="1" MINOR="1" PATCH="$(git rev-list --count "$CI_COMMIT_BRANCH")" VERSION="v$MAJOR.$MINOR.$PATCH" if [ "$CI_COMMIT_BRANCH" != "main" ] && [ "$CI_COMMIT_BRANCH" != "master" ]; then VERSION=$VERSION-dev fi echo "VERSION=$VERSION" > .version cat .version build_and_push: # damit dieser Step laufen kann muss das Repo in der Woodpecker-GUI "privilegiert" sein image: "docker:25.0.3" volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - cat .version - source .version - | docker buildx build \ --tag registry.mgrote.net/httpd \ --tag registry.mgrote.net/httpd:${CI_COMMIT_SHA:0:8} \ --tag registry.mgrote.net/httpd:${CI_COMMIT_BRANCH} \ --tag registry.mgrote.net/httpd:latest \ --tag registry.mgrote.net/httpd:$VERSION \ --label org.opencontainers.image.url=$CI_REPO_URL \ --label org.opencontainers.image.source=$CI_REPO_URL \ --label org.opencontainers.image.revision=$CI_COMMIT_SHA \ --label org.opencontainers.image.created=$(date -u -Iseconds) \ --file Dockerfile . - docker push --all-tags registry.mgrote.net/httpd when: - evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"' ...