name: Docker-Images bauen und veröffentlichen on: push: tags: ["v*"] env: REGISTRY: git.omsorg-pflegedienste.de IMAGE_NAMESPACE: admin/omsorg jobs: build: runs-on: ubuntu-latest strategy: matrix: include: - image: omsorgcore dockerfile: omsorgCore/Dockerfile build_args: "" - image: omsorgapp dockerfile: omsorgapp/Dockerfile build_args: "" - image: omsorgweb dockerfile: omsorgWeb/Dockerfile build_args: "" steps: - name: Code auschecken uses: actions/checkout@v4 - name: Bei Registry anmelden run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login ${{ env.REGISTRY }} -u "${{ gitea.actor }}" --password-stdin - name: Image bauen und pushen run: | BUILD_ARGS="" if [ -n "${{ matrix.build_args }}" ]; then BUILD_ARGS="--build-arg ${{ matrix.build_args }}" fi IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/${{ matrix.image }}" # Läuft nur noch bei einem Tag-Push (siehe `on:` oben) - :latest zeigt damit immer auf # den zuletzt getaggten Release, nicht auf jeden main-Commit. : bleibt zusätzlich # als exakter Build-Beleg, : (z.B. v0.1.3) zum gezielten Pinnen. TAGS="-t $IMAGE:latest -t $IMAGE:${{ gitea.sha }} -t $IMAGE:${{ gitea.ref_name }}" docker buildx build \ --push \ -f "${{ matrix.dockerfile }}" \ $TAGS \ $BUILD_ARGS \ .