Files
fuwari/.github/workflows/pr.yml
afoim 8d1a6b72a8 ci(github): 简化Cloudflare Pages部署配置
移除冗余的account-id和api-token参数,这些已通过环境变量自动注入
2025-08-13 14:03:21 +08:00

65 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: PR Preview Deploy
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# 1. 拉取 PR 分支代码(支持 fork
- name: Checkout PR branch
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
token: ${{ secrets.GITHUB_TOKEN }}
# 2. 安装 Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
# 3. 安装依赖
- name: Install dependencies
run: npm install
# 4. 本地构建项目(生成 dist
- name: Build site
run: npm run build
# 5. 安装 Wrangler CLI用于上传 dist
- name: Install Wrangler CLI
run: npm install -g wrangler
# 6. 上传 dist 目录到 Cloudflare Pages
- name: Deploy dist to Cloudflare Pages
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_PROJECT_NAME: ${{ secrets.CLOUDFLARE_PROJECT_NAME }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
BRANCH_NAME=pr-${PR_NUMBER}
wrangler pages deploy ./dist \
--project-name=$CLOUDFLARE_PROJECT_NAME \
--branch=$BRANCH_NAME
# 7. 在 PR 评论区发布预览链接
- name: Comment preview URL on PR
uses: actions/github-script@v7
with:
script: |
const prNumber = context.payload.pull_request.number;
const project = process.env.CLOUDFLARE_PROJECT_NAME;
const url = `https://${project}--pr-${prNumber}.pages.dev`;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: `✅ 预览已部署:${url}`
});