name: Build und Push Docker Image on: push: branches: [main] tags: ["v*"] jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Code auschecken uses: actions/checkout@v4 - name: Bei der Registry anmelden run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ${{ github.server_url }} -u ${{ github.actor }} --password-stdin env: # Bei Gitea/Forgejo zeigt github.server_url auf die eigene Instanz, # z.B. https://git.meinefirma.de DUMMY: "" - name: Image-Namen bestimmen id: vars run: | REGISTRY_HOST=$(echo "${{ github.server_url }}" | sed -E 's#https?://##') IMAGE="$REGISTRY_HOST/${{ github.repository }}" echo "image=$IMAGE" >> "$GITHUB_OUTPUT" - name: Image bauen run: docker build -t ${{ steps.vars.outputs.image }}:latest -t ${{ steps.vars.outputs.image }}:${{ github.sha }} . - name: Image pushen run: | docker push ${{ steps.vars.outputs.image }}:latest docker push ${{ steps.vars.outputs.image }}:${{ github.sha }}