Skip to content
Open
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
16bcffb
Create deploy-to-cfpages.yml
yutian81 Dec 30, 2025
523e43c
Update deploy-to-cfpages.yml
yutian81 Dec 30, 2025
33b079e
Update deploy-to-cfpages.yml
yutian81 Dec 30, 2025
aa01abb
Update deploy-to-cfpages.yml
yutian81 Dec 30, 2025
422ca7f
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 11, 2026
3828878
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 16, 2026
6f7cae1
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 17, 2026
1c7f254
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 20, 2026
d895c3c
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 21, 2026
042a58a
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Jan 25, 2026
e8189ab
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Feb 24, 2026
11a5914
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Feb 25, 2026
4d21234
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Feb 27, 2026
aa7255a
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 5, 2026
45dbb89
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 8, 2026
606e3d5
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 14, 2026
63ab878
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 16, 2026
a98e2a3
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 28, 2026
cc7589a
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Mar 31, 2026
d6d9125
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Apr 17, 2026
5c882b3
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Apr 18, 2026
380be83
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Apr 20, 2026
20828ef
Merge branch 'master' of https://github.com/jy02739244/iori-nav
actions-user Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Create deploy-to-cfpages.yml
  • Loading branch information
yutian81 authored Dec 30, 2025
commit 16bcffb23789b0fedbc98146169b757b44516f79
79 changes: 79 additions & 0 deletions .github/workflows/deploy-to-cfpages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Deploy to Cloudflare Pages

on:
push:
branches: [ master ]
paths:
- 'functions/**'
- 'public/**'

jobs:
deploy:
runs-on: ubuntu-latest
env:
CLOUDFLARE_API_TOKEN: ${{ vars.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
PROJECT_NAME: ${{ vars.PROJECT_NAME }}
NAV_D1_NAME: ${{ vars.D1_NAME }}
NAV_D1_ID: ${{ vars.NAV_D1_ID }}
NAV_KV_ID: ${{ vars.NAV_KV_ID }}
ADMIN_USER: ${{ vars.ADMIN_USER }}
ADMIN_PASS: ${{ vars.ADMIN_PASS }}
CUSTOM_DOMAIN: ${{ vars.CUSTOM_DOMAIN }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install Wrangler
run: npm install wrangler --save-dev

- name: Generate Wrangler Config
shell: bash
run: |
# 构建 wrangler.toml
cat > wrangler.toml <<EOF
name = "$PROJECT_NAME"
compatibility_date = "2025-12-01"
pages_build_output_dir = "public"

[[d1_databases]]
binding = "NAV_DB"
database_name = "$NAV_D1_NAME"
database_id = "$NAV_D1_ID"

[[kv_namespaces]]
binding = "NAV_AUTH"
id = "$NAV_KV_ID"
EOF

- name: Deploy and Initialize
run: |
mkdir -p public

# 执行 D1 数据库初始化
if [ -f "schema.sql" ]; then
npx wrangler d1 execute ${NAV_D1_NAME} --remote --file=./schema.sql -y
fi

# 部署项目到 Cloudflare Pages
npx wrangler pages deploy public --project-name ${PROJECT_NAME}

# 自动写入 KV 管理员账号
npx wrangler kv:key put --binding=NAV_AUTH "admin_username" "${ADMIN_USER}" --preview false
npx wrangler kv:key put --binding=NAV_AUTH "admin_password" "${ADMIN_PASS}" --preview false

- name: Bind Custom Domain
if: env.CUSTOM_DOMAIN != ''
run: |
# 自动绑定自定义域名
curl -X POST "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/pages/projects/${PROJECT_NAME}/domains" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"name\":\"${CUSTOM_DOMAIN}\"}"