adopt docker build and push

This commit is contained in:
dresber
2026-05-09 12:35:18 +02:00
parent 37829f86b2
commit adc623796d

View File

@@ -53,18 +53,42 @@ jobs:
run: | run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
- name: Build and Push - name: Build image
shell: bash
run: | run: |
set -euo pipefail SHA_SHORT="$(git rev-parse --short HEAD)"
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
export DOCKER_BUILDKIT=1 docker build \
docker build ${{ steps.vars.outputs.docker_tags }} ${{ inputs.dockerfile_path }} -t "${FULL_IMAGE}:${SHA_SHORT}" \
${{ inputs.dockerfile_path }}
IMAGE="${{ steps.vars.outputs.full_image }}" if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
TAGS="${{ steps.vars.outputs.docker_tags }}" VERSION="${{ gitea.ref_name }}"
VERSION="${VERSION#v}"
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
echo "$TAGS" | tr ' ' '\n' | grep "^${IMAGE}:" | while read -r tag; do docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:latest"
echo "Pushing $tag" docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${VERSION}"
docker push "$tag" docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MINOR}"
done docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MAJOR}"
fi
- name: Push image
run: |
SHA_SHORT="$(git rev-parse --short HEAD)"
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
docker push "${FULL_IMAGE}:${SHA_SHORT}"
if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
VERSION="${{ gitea.ref_name }}"
VERSION="${VERSION#v}"
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
docker push "${FULL_IMAGE}:latest"
docker push "${FULL_IMAGE}:${VERSION}"
docker push "${FULL_IMAGE}:${MINOR}"
docker push "${FULL_IMAGE}:${MAJOR}"
fi