Files
slide/.gitea/workflows/deploy.yaml
T
2026-07-17 23:51:34 +08:00

55 lines
1.6 KiB
YAML

name: Deploy Slides
run-name: ${{ gitea.actor }} deployed slides
on:
push:
branches: [main]
jobs:
build-and-deploy:
runs-on: aliyun
container: node:22-alpine
steps:
- name: Install tools
run: |
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
apk add --no-cache docker-cli git
- name: Checkout
uses: http://47.121.181.112:3000/wonder/checkout@v4
with:
github-server-url: http://47.121.181.112:3000
- 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: |
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