ci: replace plugin, set version with commit-count (#17)
Reviewed-on: #17 Co-authored-by: Michael Grote <michael.grote@posteo.de> Co-committed-by: Michael Grote <michael.grote@posteo.de>
This commit is contained in:
parent
611e5a5510
commit
705c1addda
1 changed files with 41 additions and 13 deletions
|
@ -2,21 +2,49 @@
|
||||||
depends_on:
|
depends_on:
|
||||||
- lint
|
- lint
|
||||||
|
|
||||||
variables: # https://woodpecker-ci.org/docs/usage/advanced-usage
|
clone:
|
||||||
- &VERSION 'v1.0.${CI_PIPELINE_NUMBER}' # wird für die Docker-Tags verwendet
|
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:
|
steps:
|
||||||
selfhosted_push:
|
set_version:
|
||||||
image: "woodpeckerci/plugin-docker-buildx:3.0.1"
|
image: "registry.mgrote.net/allzweckcontainer:v1.0.159"
|
||||||
settings:
|
commands:
|
||||||
dockerfile: Dockerfile
|
- |
|
||||||
repo: registry.mgrote.net/httpd
|
MAJOR="1"
|
||||||
registry: registry.mgrote.net
|
MINOR="1"
|
||||||
tags:
|
PATCH="$(git rev-list --count "$CI_COMMIT_BRANCH")"
|
||||||
- *VERSION
|
VERSION="v$MAJOR.$MINOR.$PATCH"
|
||||||
- ${CI_COMMIT_SHA:0:8}
|
if [ "$CI_COMMIT_BRANCH" != "main" ] && [ "$CI_COMMIT_BRANCH" != "master" ]; then
|
||||||
- ${CI_COMMIT_BRANCH}
|
VERSION=$VERSION-dev
|
||||||
- latest
|
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 -Iseconds) \
|
||||||
|
--file Dockerfile .
|
||||||
|
- docker push --all-tags registry.mgrote.net/httpd
|
||||||
when:
|
when:
|
||||||
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||||
...
|
...
|
||||||
|
|
Loading…
Reference in a new issue