Deploy Cloudflare Pages (trực tiếp)
Không có trong menu site
Trang này phục vụ người vận hành / maintainer đẩy bản build; site công khai ưu tiên hướng dẫn người dùng cuối.
Base URL
Cloudflare Pages phục vụ site ở gốc / (vd. https://ten-project.pages.dev/). Luôn build với VITEPRESS_BASE=/. GitHub Pages (project site) cần base = /tên-repo/ — workflow deploy-docs.yml vẫn dùng cách riêng; không trộn hai bản build.
Chuẩn bị (account todyai / Cloudflare)
- Cloudflare Dashboard → Workers & Pages → tạo Pages project. Tên project phải đúng quy tắc Cloudflare: chữ thường, số, dấu gạch ngang
-(tối đa 58 ký tự; không viết HOA, không gạch đầu/cuối). Ví dụ:haravan-claw,haravan-claw-master— không dùngHaravanClaw. - Đăng nhập Wrangler (một lần trên máy deploy): chỉ chạy một dòng, không dán kèm comment (tránh lỗi
Unknown arguments: #, lần, đầu).bashHoặc dùng API Token (CI / headless): exportnpx wrangler loginCLOUDFLARE_API_TOKENvới quyền Account — Cloudflare Pages — Edit; không cầnloginnếu token hợp lệ.
Script docs:deploy:cf
Tự đổi tên env sang chữ thường (vd. HaravanClaw → haravanclaw). Nếu vẫn sai format, script sẽ in hướng dẫn rõ.
Một lệnh (khuyến nghị)
Trong thư mục repo (đã npm install):
CLOUDFLARE_PAGES_PROJECT=ten-project-cua-ban npm run docs:deploy:cfScript scripts/deploy-cf-pages.mjs sẽ:
- Build VitePress với
VITEPRESS_BASE=/ - Chạy
wrangler pages deploy docs/.vitepress/dist --project-name=…
Từng bước tay
npm install
npm run docs:build:cf
npx wrangler pages deploy docs/.vitepress/dist --project-name=ten-project-cua-banLần đầu chưa có project
npx wrangler pages project create ten-project-cua-ban(sau đó deploy như trên).
Tuỳ chọn: custom domain
Pages → project → Custom domains. Vẫn dùng build với VITEPRESS_BASE=/.
Windows (CMD)
Trước khi build, set biến môi trường (PowerShell):
$env:CLOUDFLARE_PAGES_PROJECT="ten-project"
$env:VITEPRESS_BASE="/"
npm run docs:build
npx wrangler pages deploy docs/.vitepress/dist --project-name=$env:CLOUDFLARE_PAGES_PROJECTHoặc chỉ dùng npm run docs:deploy:cf sau khi set CLOUDFLARE_PAGES_PROJECT.
Sau khi deploy
- Giữ URL production / preview (vd.
https://<hash>.<project>.pages.dev) trong README hoặc Cộng đồng & chia sẻ nếu bạn chia sẻ công khai. - Lần sau chỉ cần lặp lại:
CLOUDFLARE_PAGES_PROJECT=... npm run docs:deploy:cf(đã đăng nhập Wrangler).
Lỗi thường gặp
| Vấn đề | Gợi ý |
|---|---|
npm login đang chờ Enter/browser mà bạn dán nhầm lệnh khác (cd, npm publish…) | Hủy (Ctrl+C), mở terminal sạch, chạy lại một lệnh một dòng. |
| Wrangler báo working directory có uncommitted changes | Commit (khuyến nghị) hoặc chấp nhận cảnh báo nếu chỉ test preview. |
| Site trắng / sai link | Xác nhận build dùng VITEPRESS_BASE=/ (script docs:deploy:cf đã set). GitHub Pages project site cần base khác — đừng trộn hai bản build. |
Checklist maintainer (npm + CF, tái sử dụng): trong repo, file skills/haravan-claw-maintainer-deploy/SKILL.md.
Liên kết
- Cộng đồng & chia sẻ
- GitHub Pages (nếu vẫn cần): deploy-docs.yml