name: Build und Push Docker Image on: push: branches: [main, dev, beta] tags: ["v*"] env: REGISTRY: 172.29.0.2:3000 DOCKER_HOST: tcp://172.17.0.1:2375 jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Code auschecken uses: actions/checkout@v4 - name: Docker-Daemon Diagnose run: | echo "--- Umgebungsvariablen (DOCKER_*) ---" env | grep -i docker || echo "keine DOCKER_* Variable gesetzt" echo "--- docker info ---" docker info - name: Bei der Registry anmelden run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin - name: Image-Namen und Tag bestimmen id: vars run: | IMAGE=${{ env.REGISTRY }}/${{ github.repository }} if [ "${{ github.ref_name }}" = "main" ]; then TAG=latest else TAG=$(echo "${{ github.ref_name }}" | tr '[:upper:]' '[:lower:]') fi echo "image=$IMAGE" >> "$GITHUB_OUTPUT" echo "tag=$TAG" >> "$GITHUB_OUTPUT" - name: Image bauen run: docker build -t ${{ steps.vars.outputs.image }}:${{ steps.vars.outputs.tag }} -t ${{ steps.vars.outputs.image }}:${{ github.sha }} . - name: Image pushen run: | docker push ${{ steps.vars.outputs.image }}:${{ steps.vars.outputs.tag }} docker push ${{ steps.vars.outputs.image }}:${{ github.sha }}