diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index a0f84b6..e574ecc 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -179,21 +179,21 @@ jobs: # 不重啟 momo-pro-system 容器,避免一般 Python/模板同步造成短暫 502。 # MOUNT DRIFT GUARD (2026-04-30): 舊容器若尚未套用 app.py/config.py bind mount, # health/version 會卡在 image 內舊檔;只在偵測到 drift 時 force-recreate app。 - ssh -i ~/.ssh/id_deploy ollama@192.168.0.188 \ - "cd /home/ollama/momo-pro && bash -s" <<'REMOTE_SYNC' - set -e - docker compose up -d --no-deps scheduler telegram-bot - if docker inspect momo-pro-system --format '{{range .Mounts}}{{println .Destination}}{{end}}' | grep -qx '/app/app.py' \ - && docker inspect momo-pro-system --format '{{range .Mounts}}{{println .Destination}}{{end}}' | grep -qx '/app/config.py'; then - docker compose up -d --no-deps momo-app - else - echo '⚠️ momo-app mount drift detected; recreating app container once to apply bind mounts' - docker compose up -d --no-deps --force-recreate momo-app - fi - docker kill -s HUP momo-pro-system - docker compose restart scheduler telegram-bot - echo '✅ Sync 已套用(app 熱重載;scheduler/telegram-bot 已重啟)' -REMOTE_SYNC + ssh -i ~/.ssh/id_deploy ollama@192.168.0.188 ' + set -e + cd /home/ollama/momo-pro + docker compose up -d --no-deps scheduler telegram-bot + if docker inspect momo-pro-system --format "{{range .Mounts}}{{println .Destination}}{{end}}" | grep -qx "/app/app.py" \ + && docker inspect momo-pro-system --format "{{range .Mounts}}{{println .Destination}}{{end}}" | grep -qx "/app/config.py"; then + docker compose up -d --no-deps momo-app + else + echo "⚠️ momo-app mount drift detected; recreating app container once to apply bind mounts" + docker compose up -d --no-deps --force-recreate momo-app + fi + docker kill -s HUP momo-pro-system + docker compose restart scheduler telegram-bot + echo "✅ Sync 已套用(app 熱重載;scheduler/telegram-bot 已重啟)" + ' # ── 模式 B:重建 Docker Image(Dockerfile / requirements.txt 變動) ── - name: 同步所有檔案並重建 Image