Deploy App / deploy (push) Successful in 10s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
1.5 KiB
YAML
39 lines
1.5 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
|
|
- name: Traefik-Diagnose
|
|
run: |
|
|
TID=$(docker ps --filter name=traefik -q | head -1)
|
|
echo "--- Traefik-Container ---"
|
|
docker ps --filter name=traefik --format '{{.Names}} {{.Image}} {{.Status}}'
|
|
echo "--- Traefik-Kommando ---"
|
|
docker inspect -f '{{range .Config.Cmd}}{{.}}{{println}}{{end}}' $TID || true
|
|
echo "--- Traefik-Netzwerke ---"
|
|
docker inspect -f '{{range $k,$v := .NetworkSettings.Networks}}{{$k}} {{end}}' $TID || true
|
|
echo "--- App-Container mit traefik.enable=true ---"
|
|
for c in $(docker ps -q); do
|
|
N=$(docker inspect -f '{{.Name}}' $c)
|
|
E=$(docker inspect -f '{{index .Config.Labels "traefik.enable"}}' $c)
|
|
NW=$(docker inspect -f '{{range $k,$v := .NetworkSettings.Networks}}{{$k}} {{end}}' $c)
|
|
if [ "$E" = "true" ]; then echo "$N netze=$NW"; fi
|
|
done
|
|
echo "--- Traefik-Log, letzte 40 Zeilen ---"
|
|
docker logs --tail=40 $TID 2>&1 | tail -40 || true
|