diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index bf27ce2..5caea63 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -70,6 +70,20 @@ jobs: git push "https://devops:${{ secrets.GIT_TOKEN }}@git.noveria.net/bao/nexus.git" HEAD:main --tags echo "✅ Version bumped to v${NEW_VERSION}" + - name: Sync code to host deploy path + run: | + docker run --rm \ + -v "${{ gitea.workspace }}:/src:ro" \ + -v /opt/openclaw/data/openclaw/workspace/nexus:/dest \ + alpine:latest \ + sh -c " + cd /src && \ + find . -mindepth 1 -maxdepth 1 \ + ! -name .git \ + ! -name .env \ + -exec cp -a {} /dest/ \; + " + - name: Set up Docker Buildx run: docker buildx create --use 2>/dev/null || true @@ -80,23 +94,37 @@ jobs: BUILD_ARGS="--no-cache" fi - if [ -n "${{ inputs.service }}" ]; then - echo "🚀 Deploying service: ${{ inputs.service }}" - docker compose build $BUILD_ARGS ${{ inputs.service }} - docker compose up -d --force-recreate ${{ inputs.service }} - else - echo "🚀 Deploying all services" - docker compose build $BUILD_ARGS - docker compose up -d --force-recreate - fi + docker run --rm \ + -v /opt/openclaw/data/openclaw/workspace/nexus:/workspace/nexus \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -w /workspace/nexus \ + docker:cli \ + sh -c " + set -e + if [ -n '${{ inputs.service }}' ]; then + echo '🚀 Deploying service: ${{ inputs.service }}' + docker compose build $BUILD_ARGS \${{ inputs.service }} + docker compose up -d --force-recreate \${{ inputs.service }} + else + echo '🚀 Deploying all services' + docker compose build $BUILD_ARGS + docker compose up -d --force-recreate + fi + " - name: Health Check run: | sleep 5 echo "🏥 Health check..." - curl -sf --max-time 30 --retry 3 --retry-delay 5 https://nexus.noveria.net/health || echo "⚠️ Health check failed (may need more time)" - echo "" - docker compose ps + for i in 1 2 3 4 5 6; do + if curl -sf --max-time 10 https://nexus.noveria.net/health; then + echo "" + echo "✅ Health check passed" + break + fi + echo "⏳ Retry $i/6..." + sleep 5 + done - name: Verify (smoke test) run: |