7e357ced0a
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
44 lines
1.6 KiB
YAML
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
|