Files
Docker-Flask-QR/.gitea/workflows/create_and_push_multiarch_container.yml
tebarius 62b2c54f03
Some checks failed
trivy-scan-image / trivy_image_scan (push) Failing after 32s
trivy-scan-image / telegram-notify (push) Successful in 2s
build-image / release-image (push) Successful in 7m36s
build on tag
2026-03-13 19:37:32 +01:00

63 lines
2.0 KiB
YAML

name: build-image
run-name: build and push Docker-Image with tag:${{ github.ref_name }}
on:
push:
tags:
- "*"
env:
image_name_gitea: flask-qr
image_name_github: flask-qrcode-generator
image_name_dockerhub: flask-qrcode-generator
registry_gitea: gitea.tebarius.duckdns.org
registry_github: ghcr.io
user: tebarius
jobs:
release-image:
runs-on: build-ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Login to Gitea
uses: docker/login-action@v2
with:
registry: ${{ env.registry_gitea }}
username: ${{ env.user }}
password: ${{ secrets.IMAGE_REGISTRY_TOKEN_GITEA }}
- name: Login to Github
uses: docker/login-action@v2
with:
registry: ${{ env.registry_github }}
username: ${{ env.user }}
password: ${{ secrets.TOKEN_GITHUB }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ env.user }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: Build and push
run: |
# Stelle sicher, dass Buildx aktiviert ist
docker buildx create --use
# Führe den Multiarch-Build aus und pushe das Image
docker buildx build \
--file ./Dockerfile \
--platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 \
--tag ${{ env.registry_gitea }}/${{ env.user }}/${{ env.image_name_gitea }}:${{ github.ref_name }} \
--tag ${{ env.registry_github }}/${{ env.user }}/${{ env.image_name_github }}:${{ github.ref_name }} \
--tag ${{ env.user }}/${{ env.image_name_dockerhub }}:${{ github.ref_name }} \
--tag ${{ env.registry_gitea }}/${{ env.user }}/${{ env.image_name_gitea }}:latest \
--tag ${{ env.registry_github }}/${{ env.user }}/${{ env.image_name_github }}:latest \
--tag ${{ env.user }}/${{ env.image_name_dockerhub }}:latest \
--push ./