ci: optimize deploy pipeline with mirror, cache, corepack, and nginx reuse
Deploy Slides / build-and-deploy (push) Failing after 1s
Deploy Slides / build-and-deploy (push) Failing after 1s
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user