Files
pangolin/.gitea/workflows/deploy-site.yml
T
wangjia 7e357ced0a ci(site): web 发版从 ubuntu-latest 迁到 nas runner
pangolin 只注册了一个 runner(mac-pangolin-2, label nas, host 模式);
deploy-site.yml 原 runs-on: ubuntu-latest 无对应 runner → site-v* 发版
永久排队,官网/用户中心走 CI 发不出来。

改 runs-on: nas,直接在宿主 Mac 上 host 跑(Mac 自带 node v25/npm)。
内存无忧:Astro 轻,Next.js next build 峰值 ~1-2GB,Mac 足够——刻意不放
内存紧的 pangolin1(960MB)或 NAS-Linux。wrangler pages deploy 需网络 +
CF token(CLOUDFLARE_API_TOKEN/ACCOUNT_ID secret 已配)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
2026-07-25 00:44:42 +08:00

44 lines
1.6 KiB
YAML

name: Deploy Site
on:
push:
tags:
- 'site-v[0-9]*.[0-9]*.[0-9]*'
workflow_dispatch:
concurrency:
group: deploy-site
cancel-in-progress: false
jobs:
deploy-site:
runs-on: nas
steps:
- name: Checkout
uses: actions/checkout@v4
# runs-on: nas(host 模式,mac-pangolin-2 宿主 Mac)。Mac 自带 node/npm/npx,
# 直接 host 跑 —— 从 ubuntu-latest 迁来:pangolin 无 ubuntu runner,原 job 永久排队。
# 内存:Astro 轻(几百 MB)、Next.js next build 峰值 ~1-2GB,Mac 足够(不放内存紧的
# pangolin1/NAS-Linux)。wrangler pages deploy 需网络 + CF token(已配 secret)。
- name: Compile (Astro 官网)
env:
SITE_URL: https://pangolin.yanmeiai.com
run: bash scripts/ci/compile-site.sh
# 用户中心(web/usercenter,basePath=/user,http 模式)构建 → out/。
- name: Compile (用户中心 Next.js)
run: bash scripts/ci/compile-usercenter.sh
# 合并:用户中心并入官网 dist/user/ + _headers 按 /user/* 分域(见脚本)。
# 域名迁移:原独立子域 app.yanmeiai.com → 主站子路径 pangolin.yanmeiai.com/user/。
- name: Combine (官网 + 用户中心)
run: bash scripts/ci/combine-site.sh
# 单次部署合并产物到 pangolin-site:/ 官网、/user/ 用户中心。
- name: Deploy → Cloudflare Pages
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
run: bash scripts/ci/deploy-site.sh