Files
beeper-bridge-docker/.gitea/workflows/build-push.yaml
Gemini Bot 8b48a25e0b
Some checks failed
Docker Build & Push / build-and-push (push) Failing after 11s
Add Gitea workflow configuration
2025-12-06 17:40:53 +00:00

60 lines
2.0 KiB
YAML

name: Docker Build & Push
run-name: ${{ gitea.actor }} zwingt es zum Laufen 🔨
on:
push:
branches:
- main
- master
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# -----------------------------------------------------------
# 1. DER NETZWERK-RETTER (MUSS WIEDER REIN!)
# Ersetzt "gitea:3000" durch die IP, damit der Container es findet.
# -----------------------------------------------------------
- name: Fix Git URL Resolution
run: git config --global url."http://172.30.1.213/".insteadOf "http://gitea:3000/"
# 2. Checkout (Klappt jetzt, weil URL umgebogen wird)
- name: Checkout Code
uses: actions/checkout@v3
# 3. Login (Mit dem globalen Token aus deinen User-Settings)
- name: Login bei Registry
run: docker login 172.30.1.213 -u ${{ gitea.actor }} -p ${{ secrets.TOKEN_RUNNER }}
# 4. Feuer frei
- 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
- name: Webhook an Node-RED
if: always()
run: |
# Status setzen
if [ "${{ job.status }}" == "success" ]; then
STATUS="success"
else
STATUS="failed"
fi
# JSON Payload basteln
# Wir nutzen printf, um sauberes JSON zu bauen
JSON_DATA=$(printf '{"status": "%s", "repo": "%s", "actor": "%s"}' "$STATUS" "${{ gitea.repository }}" "${{ gitea.actor }}")
# Abfeuern an Node-RED
# Ersetze <NODE-RED-IP> mit der IP deines Node-RED (intern reicht!)
curl -v -H "Content-Type: application/json" \
-X POST \
-d "$JSON_DATA" \
http://172.30.80.246:1880/gitea-status