From bf0b969c9bd34b18caaef0aa3bfe90e5014c5249 Mon Sep 17 00:00:00 2001 From: Trae Assistant Date: Mon, 5 Oct 2026 00:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFci(deploy):=20=E4=BF=AE=E5=A4=8DPATH?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E2=86=92jobs.env.PATH=E6=98=BE=E5=BC=8F?= =?UTF-8?q?=E5=8A=A0/usr/local/bin=EF=BC=9B=E6=96=B0=E5=A2=9EStep0=20Verif?= =?UTF-8?q?y=20tools=E6=89=93=E5=8D=B0node/npm=20version=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=EF=BC=9BDeploy=E5=90=8C=E6=97=B6=E5=85=BC=E5=AE=B9docker=20com?= =?UTF-8?q?pose=E5=92=8Cdocker-compose=E6=97=A7=E8=AF=AD=E6=B3=95=EF=BC=9B?= =?UTF-8?q?Health=20check=E9=87=8D=E8=AF=9510=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 1fc3b0b..731939f 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -10,10 +10,26 @@ jobs: runs-on: - ubuntu-latest - self-hosted + env: + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - - name: Prepare workspace + - name: Verify tools (node/npm/git) run: | - rm -rf /tmp/volunteer-deploy && mkdir -p /tmp/volunteer-deploy && cd /tmp/volunteer-deploy + echo "PATH=$PATH" + set -e + which git + node -v + npm -v + which curl + which ssh || true + which ssh-keygen || true + ls -la /usr/local/bin/ | grep -E 'node|npm|npx' || true + + - name: Prepare workspace + working-directory: /tmp + run: | + rm -rf volunteer-deploy + mkdir -p /tmp/volunteer-deploy - name: Checkout (git) working-directory: /tmp/volunteer-deploy @@ -84,6 +100,7 @@ jobs: chmod 600 ~/.ssh/deploy_key printf 'Host *\n StrictHostKeyChecking no\n UserKnownHostsFile /dev/null\n IdentityFile ~/.ssh/deploy_key\n' > ~/.ssh/config chmod 600 ~/.ssh/config + ssh -V - name: Deploy via SSH env: @@ -93,10 +110,11 @@ jobs: working-directory: /tmp/volunteer-deploy run: | PORT="${SSH_PORT:-22}" + echo "Deploy target: $SSH_USER@$SSH_HOST:$PORT" ssh -p $PORT $SSH_USER@$SSH_HOST "mkdir -p /opt/volunteer/app /opt/volunteer/data" scp -P $PORT -r deploy-pkg/app/* $SSH_USER@$SSH_HOST:/opt/volunteer/app/ scp -P $PORT deploy-pkg/docker-compose.yml $SSH_USER@$SSH_HOST:/opt/volunteer/docker-compose.yml - ssh -p $PORT $SSH_USER@$SSH_HOST "cd /opt/volunteer && (docker compose down || true) && docker compose up -d --force-recreate && sleep 3 && docker compose ps" + ssh -p $PORT $SSH_USER@$SSH_HOST "cd /opt/volunteer && (docker compose down || docker-compose down || true) && (docker compose up -d --force-recreate || docker-compose up -d --force-recreate) && sleep 3 && (docker compose ps || docker-compose ps)" - name: Health check env: @@ -105,5 +123,5 @@ jobs: SSH_USER: ${{ secrets.SSH_USER }} run: | PORT="${SSH_PORT:-22}" - ssh -p $PORT $SSH_USER@$SSH_HOST "for i in 1 2 3 4 5 6 7 8; do if curl -fsS http://localhost:3000/u > /dev/null; then echo 'Service OK'; exit 0; fi; echo Wait...; sleep 3; done; echo 'Service FAIL'; exit 1" + ssh -p $PORT $SSH_USER@$SSH_HOST "for i in 1 2 3 4 5 6 7 8 9 10; do if curl -fsS http://localhost:3000/u > /dev/null; then echo 'Service OK'; exit 0; fi; echo Wait...; sleep 3; done; echo 'Service FAIL'; exit 1"