From 56d59030f7e47c93fb40f00a0e43e044416e1cb9 Mon Sep 17 00:00:00 2001 From: hezhaohui Date: Fri, 17 Jul 2026 23:51:34 +0800 Subject: [PATCH] ci: optimize deploy pipeline with mirror, cache, corepack, and nginx reuse --- .gitea/workflows/deploy.yaml | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 7277ce3..e58aa5d 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -20,23 +20,35 @@ jobs: with: github-server-url: http://47.121.181.112:3000 - - name: Install pnpm - run: npm install -g pnpm + - name: Enable pnpm via corepack + run: corepack enable + + - name: Cache pnpm store + uses: http://47.121.181.112:3000/actions/cache@v4 + with: + path: /root/.local/share/pnpm/store + key: pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: pnpm-store- - name: Install dependencies run: pnpm install --frozen-lockfile + env: + npm_config_registry: https://registry.npmmirror.com - name: Build all decks run: pnpm run build - name: Deploy to nginx run: | - docker rm -f slides-nginx 2>/dev/null || true - docker run -d \ - --name slides-nginx \ - --restart unless-stopped \ - -p 8080:80 \ - nginx:alpine - docker cp nginx.conf slides-nginx:/etc/nginx/conf.d/default.conf - docker cp dist/. slides-nginx:/usr/share/nginx/html/ - docker exec slides-nginx nginx -s reload + if docker inspect slides-nginx >/dev/null 2>&1; then + docker cp dist/. slides-nginx:/usr/share/nginx/html/ + docker exec slides-nginx nginx -s reload + else + docker run -d \ + --name slides-nginx \ + --restart unless-stopped \ + -p 8080:80 \ + nginx:alpine + docker cp nginx.conf slides-nginx:/etc/nginx/conf.d/default.conf + docker cp dist/. slides-nginx:/usr/share/nginx/html/ + fi