Deploy App / deploy (push) Successful in 2m14s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
41 lines
1.4 KiB
YAML
41 lines
1.4 KiB
YAML
name: Deploy App
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
- name: Deploy to Server
|
|
run: |
|
|
APP_DIR="/opt/aicds/apps/${GITHUB_REPOSITORY#*/}"
|
|
mkdir -p $APP_DIR
|
|
cp -a . $APP_DIR/
|
|
cd $APP_DIR
|
|
docker compose down || true
|
|
docker compose up -d --build
|
|
docker image prune -f
|
|
# Einmaliger Schritt: Traefik nimmt neue Container nicht mehr auf.
|
|
# Nach dem Neustart liest es alle laufenden Container neu ein.
|
|
# Dieser Schritt wird danach wieder entfernt.
|
|
- name: Traefik neu einlesen
|
|
run: |
|
|
echo "--- vorher ---"
|
|
docker ps --filter name=traefik --format '{{.Names}} {{.Status}}'
|
|
docker restart traefik
|
|
echo "--- nachher ---"
|
|
sleep 20
|
|
docker ps --filter name=traefik --format '{{.Names}} {{.Status}}'
|
|
echo "--- Router-Test von innen ---"
|
|
for i in 1 2 3 4 5 6; do
|
|
C=$(docker run --rm --network agent-net curlimages/curl:latest -sk -o /dev/null -w '%{http_code}' --max-time 10 -H 'Host: garten.aicds.ch' https://traefik/ 2>/dev/null || echo "-")
|
|
echo "Versuch $i: $C"
|
|
[ "$C" = "200" ] && break
|
|
sleep 15
|
|
done
|
|
echo "--- Traefik-Log, letzte 25 Zeilen ---"
|
|
docker logs --tail=25 traefik 2>&1 | tail -25 || true
|