Skip to content

Workflow file for this run

name: PR 部署到 Cloudflare Pages
on:
pull_request:
types: [opened, synchronize] # 在 PR 创建和提交同步时触发
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 第一步:检出代码
- name: 检出代码
uses: actions/checkout@v3
with:
fetch-depth: 0
# 第二步:安装 pnpm
- name: 安装 pnpm
uses: pnpm/action-setup@v3
with:
version: latest
# 第三步:安装依赖
- name: 安装依赖
run: pnpm install
# 第四步:构建项目
- name: 构建项目
run: pnpm build # 构建 VitePress 项目
# 第五步:安装 Wrangler
- name: 安装 Wrangler
run: pnpm add -g wrangler@3 # 安装 Wrangler v3
# 第六步:发布到 Cloudflare Pages
- name: 发布到 Cloudflare Pages
id: deploy
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_PAGES_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_PAGES_ACCOUNT }}
projectName: rle-wiki-preview
directory: docs/.vitepress/dist # 构建输出目录
# 第七步:在 PR 中评论部署后的 Cloudflare Pages 预览链接
- name: 评论 PR 部署链接
uses: actions/github-script@v6
with:
script: |
const prNumber = context.payload.pull_request.number;
const previewUrl = `${{ steps.deploy.outputs.url }}`;
const comment = `预览链接: ${previewUrl}`;
github.rest.issues.createComment({
issue_number: prNumber,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment,
});