Compare commits
10 Commits
Author | SHA1 | Date |
---|---|---|
Michael Grote | a0fae8a9d6 | |
Michael Grote | e008fe2823 | |
Michael Grote | 14b225fb0a | |
Michael Grote | 0a33ac18eb | |
Michael Grote | 1c7c4630ee | |
Michael Grote | 5d7486fa32 | |
Michael Grote | b1218292fd | |
Michael Grote | 437dfb7935 | |
Michael Grote | 04b3412504 | |
Michael Grote | ddc18803a8 |
|
@ -2,60 +2,21 @@
|
|||
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
|
||||
variables: # https://woodpecker-ci.org/docs/usage/advanced-usage
|
||||
- &VERSION 'v1.0.${CI_PIPELINE_NUMBER}' # wird für die Docker-Tags verwendet
|
||||
|
||||
steps:
|
||||
set_variables:
|
||||
image: "registry.mgrote.net/allzweckcontainer:latest"
|
||||
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
|
||||
selfhosted_push:
|
||||
image: "woodpeckerci/plugin-docker-buildx:3.0.1@sha256:c7ac0b01243466bef93863591940ce5eacf59759e9045433a6fc28d20c696d01"
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
repo: registry.mgrote.net/httpd
|
||||
registry: registry.mgrote.net
|
||||
tags:
|
||||
- *VERSION
|
||||
- ${CI_COMMIT_SHA:0:8}
|
||||
- ${CI_COMMIT_BRANCH}
|
||||
- latest
|
||||
when:
|
||||
- event: [push, pull_request, cron]
|
||||
evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
|
||||
build_and_push: # damit dieser Step laufen kann muss das Repo in der Woodpecker-GUI "privilegiert" sein
|
||||
image: "docker:26.1.4"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
commands:
|
||||
- cat .variables
|
||||
- source .variables
|
||||
# https://unix.stackexchange.com/questions/748633/error-multiple-platforms-feature-is-currently-not-supported-for-docker-driver
|
||||
- docker buildx create --use --platform=linux/amd64 --name multi-platform-builder
|
||||
- docker buildx inspect --bootstrap
|
||||
- |
|
||||
docker buildx build \
|
||||
--platform=linux/amd64 \
|
||||
--push \
|
||||
--tag registry.mgrote.net/${CI_REPO_NAME}:${CI_COMMIT_SHA:0:8} \
|
||||
--tag registry.mgrote.net/${CI_REPO_NAME}:${CI_COMMIT_BRANCH} \
|
||||
--tag registry.mgrote.net/${CI_REPO_NAME}:latest \
|
||||
--tag registry.mgrote.net/${CI_REPO_NAME}:$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 .
|
||||
when:
|
||||
- event: [push, pull_request, cron]
|
||||
evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
...
|
||||
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
...
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
---
|
||||
steps:
|
||||
gitleaks:
|
||||
image: zricethezav/gitleaks:v8.18.4
|
||||
image: zricethezav/gitleaks:v8.18.2@sha256:eadfe256fa18d6a78a717abc9ed454c8e03865d1c46d627bca83977f4424901a
|
||||
commands:
|
||||
- gitleaks detect --no-git --verbose --source $CI_WORKSPACE
|
||||
when:
|
||||
- event: [push, pull_request, cron]
|
||||
evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
|
||||
hadolint:
|
||||
image: pipelinecomponents/hadolint:0.26.3
|
||||
image: pipelinecomponents/hadolint:0.26.0@sha256:7122937006c7a9bcbb78ce764d3c2f0092f183b843ad128bc9fd6ea918e22d5b
|
||||
commands:
|
||||
- hadolint Dockerfile
|
||||
when:
|
||||
- event: [push, pull_request, cron]
|
||||
evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
|
||||
shellcheck:
|
||||
image: "koalaman/shellcheck-alpine:v0.10.0"
|
||||
image: "koalaman/shellcheck-alpine:latest@sha256:7b0682c5786633fc075f69852e5c7521767e8dcb512c43cf8041b022bdc98198"
|
||||
commands:
|
||||
- |
|
||||
find . -type f -not -path './.git/*' -not -path './collections/*' -exec file {} \; | while IFS= read -r line; do
|
||||
|
@ -27,6 +25,5 @@ steps:
|
|||
fi
|
||||
done
|
||||
when:
|
||||
- event: [push, pull_request, cron]
|
||||
evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
- evaluate: 'CI_COMMIT_AUTHOR_EMAIL != "renovate@mgrote.net"'
|
||||
...
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM httpd:2.4.59-alpine
|
||||
FROM httpd:2.4.58-alpine@sha256:5f3c87973b3e76601b2f4d8832d6075e272868815e4966d2e57823591f8da29f
|
||||
|
||||
# renovate: datasource=repology depName=alpine_3_19/curl versioning=loose
|
||||
ENV CURL_VERSION="8.5.0-r0"
|
||||
|
|
Loading…
Reference in New Issue