name: Docker Build & Push run-name: ${{ gitea.actor }} flucht, aber baut 🔨 on: push: branches: - main - master jobs: build-and-push: runs-on: ubuntu-latest steps: # 1. DER FIX (Mit dem automatischen Gitea-Token) # ${{ gitea.token }} hat IMMER Zugriff auf das Repo, in dem der Job läuft. - name: Fix Git URL Resolution run: git config --global url."http://${{ gitea.token }}@172.30.1.213/".insteadOf "http://gitea:3000/" # 2. Checkout - name: Checkout Code uses: actions/checkout@v3 # 3. Docker Login (Hier nehmen wir weiterhin deinen Runner-Token oder den Actor) # Wenn der Login fehlschlägt, dann hat dein User keine Schreibrechte auf Packages. # Aber probier erst mal Checkout. - name: Login bei Registry run: docker login 172.30.1.213 -u ${{ gitea.actor }} -p ${{ secrets.TOKEN_RUNNER }} # 4. Bauen - name: Build & Push run: | REPO_LOWER=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]') IMAGE_TAG="172.30.1.213/$REPO_LOWER:latest" echo "Baue Image: $IMAGE_TAG" docker build -t $IMAGE_TAG . docker push $IMAGE_TAG # 5. Node-RED - name: Webhook an Node-RED if: always() run: | if [ "${{ job.status }}" == "success" ]; then STATUS="success" else STATUS="failed" fi JSON_DATA=$(printf '{"status": "%s", "repo": "%s", "actor": "%s"}' "$STATUS" "${{ gitea.repository }}" "${{ gitea.actor }}") curl -v -H "Content-Type: application/json" -X POST -d "$JSON_DATA" http://172.30.80.246:1880/gitea-status