From b2d53cb242a84c5d97653634d0beb775eb2d2f44 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Tue, 7 Jul 2026 15:59:57 +0800 Subject: [PATCH] fix(ci): use SSH-based deploy for dev (NAS paths unavailable on VPS runner) --- .gitea/workflows/deploy-dev.yml | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index 8fd7c4c..88accc9 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -187,23 +187,18 @@ jobs: needs: [build-image-dev, frontend-tests] env: SECRET_KEY: test-secret-key-for-ci-environment-32chars-minimum - container: - volumes: - - /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker - - /var/packages/ContainerManager/target/usr/bin/docker-compose:/usr/lib/docker/cli-plugins/docker-compose - - /volume1/docker/nas-dashboard:/volume1/docker/nas-dashboard steps: - name: Checkout repository run: | if [ ! -d .git ]; then - git clone --depth=1 --branch "$GITHUB_REF_NAME" "http://gitea:3000/${GITHUB_REPOSITORY}.git" . + git clone --depth=1 --branch "$GITHUB_REF_NAME" "http://100.78.131.124:3300/${GITHUB_REPOSITORY}.git" . fi - name: Sync runtime compose file run: | - mkdir -p /volume1/docker/nas-dashboard - cp dashboard/docker-compose.dev.yml /volume1/docker/nas-dashboard/docker-compose.dev.yml + ssh nasts "mkdir -p /volume1/docker/nas-dashboard" + scp dashboard/docker-compose.dev.yml "nasts:/volume1/docker/nas-dashboard/docker-compose.dev.yml" - name: Deploy dev env: @@ -213,23 +208,20 @@ jobs: GITEA_DB_PASSWORD: ${{ secrets.GITEA_DB_PASSWORD }} run: | set -u - DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker" - COMPOSE="/usr/lib/docker/cli-plugins/docker-compose" + DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker" + COMPOSE="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker-compose" NAS_VOL="/volume1/docker/nas-dashboard" - # Sync compose file to NAS (already done in previous step, just in case) - mkdir -p $NAS_VOL - # Stop existing container if running $COMPOSE -f $NAS_VOL/docker-compose.dev.yml -p nas-dashboard-dev down 2>/dev/null || true - # Ensure network exists + # Ensure network exists (create only if it doesn't exist) if ! $DOCKER network inspect nas-dashboard_internal >/dev/null 2>&1; then $DOCKER network create nas-dashboard_internal fi # Deploy - cd $NAS_VOL && GITEA_TOKEN=$GITEA_TOKEN SECRET_KEY=$SECRET_KEY $COMPOSE -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never 2>&1 || true + ssh nasts "cd $NAS_VOL && GITEA_TOKEN=$GITEA_TOKEN SECRET_KEY=$SECRET_KEY /volume1/@appstore/ContainerManager/usr/bin/docker-compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never" 2>&1 || true if ! $DOCKER container inspect nas-dashboard-dev >/dev/null 2>&1; then echo "Compose failed to create container..." @@ -246,7 +238,7 @@ jobs: - name: Wait for container to be healthy run: | - DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker" + DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker" echo "Waiting for container to be healthy..." for i in {1..30}; do STATUS=$($DOCKER inspect --format='{{.State.Health.Status}}' nas-dashboard-dev 2>/dev/null || echo "starting") @@ -266,7 +258,7 @@ jobs: - name: Run smoke tests run: | - DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker" + DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker" echo "=== Running smoke tests via docker exec ===" # Test 1: Health check