4e00b25b39
Deploy Slides / build-and-deploy (push) Successful in 1m16s
The nginx:alpine image runs as UID 101 which can't read root-owned files from the CI build. chmod o+rX allows the nginx user to serve the static files. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
42 lines
1.0 KiB
YAML
42 lines
1.0 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: Install pnpm
|
|
run: npm install -g pnpm
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Build all decks
|
|
run: pnpm run build
|
|
|
|
- name: Deploy to nginx
|
|
run: |
|
|
chmod -R o+rX dist
|
|
docker rm -f slides-nginx 2>/dev/null || true
|
|
docker run -d \
|
|
--name slides-nginx \
|
|
--restart unless-stopped \
|
|
-p 8080:80 \
|
|
-v ${{ github.workspace }}/dist:/usr/share/nginx/html:ro \
|
|
nginx:alpine
|