.gitea/workflows/build-push.yaml hinzugefügt
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 35s
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 35s
This commit is contained in:
59
.gitea/workflows/build-push.yaml
Normal file
59
.gitea/workflows/build-push.yaml
Normal file
@@ -0,0 +1,59 @@
|
||||
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
|
||||
Reference in New Issue
Block a user