diff options
| author | Michael Grote | 2024-02-07 21:11:47 +0100 |
|---|---|---|
| committer | Michael Grote | 2024-02-07 21:11:47 +0100 |
| commit | d9d5392a8419b8aa919a3eca607f1c0174b23f79 (patch) | |
| tree | 7f2ba47086e022fa97b0dec6b8fbace7e2e8ffc3 /.woodpecker/build.yml | |
| parent | 5abf99bf955ab714c8cd9523c73cfb83beb3ffba (diff) | |
ci: new build step
Diffstat (limited to '.woodpecker/build.yml')
| -rw-r--r-- | .woodpecker/build.yml | 62 |
1 files changed, 49 insertions, 13 deletions
diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml index a9d8303..c4db42a 100644 --- a/.woodpecker/build.yml +++ b/.woodpecker/build.yml @@ -2,21 +2,57 @@ depends_on: - lint -variables: # https://woodpecker-ci.org/docs/usage/advanced-usage - - &VERSION 'v1.0.${CI_PIPELINE_NUMBER}' # wird für die Docker-Tags verwendet +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: - selfhosted_push: - image: "woodpeckerci/plugin-docker-buildx:3.1.0" - settings: - dockerfile: Dockerfile - repo: registry.mgrote.net/python-api-server - registry: registry.mgrote.net - tags: - - *VERSION - - ${CI_COMMIT_SHA:0:8} - - ${CI_COMMIT_BRANCH} - - latest + set_variables: + image: "registry.mgrote.net/allzweckcontainer:v1.0.167" + commands: + # set version + - | + 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" >> .variables + # set date + - | + DATE=$(date --iso-8601=seconds) + echo "DATE=$DATE" >> .variables + + 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 .variables + - source .variables + - | + docker buildx build \ + --tag registry.mgrote.net/python-api-server \ + --tag registry.mgrote.net/python-api-server:${CI_COMMIT_SHA:0:8} \ + --tag registry.mgrote.net/python-api-server:${CI_COMMIT_BRANCH} \ + --tag registry.mgrote.net/python-api-server:latest \ + --tag registry.mgrote.net/python-api-server:$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 \ + --file Dockerfile . + - docker push registry.mgrote.net/python-api-server:${CI_COMMIT_SHA:0:8} + - docker push registry.mgrote.net/python-api-server:${CI_COMMIT_BRANCH} + - docker push registry.mgrote.net/python-api-server:latest + - docker push registry.mgrote.net/python-api-server:$VERSION + - docker push registry.mgrote.net/python-api-server when: - evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"' ... |