构建与部署
BlogGPT 生成静态文件,推荐通过 Vercel 连接 Git 仓库自动构建与发布,也可以将构建产物部署到其他支持目录索引的静态托管服务。
构建命令为 pnpm build,产物目录为 dist/。
生产地址
在 site.baseUrl 填写完整生产地址:
- 根域名:
https://blog.example.org/。 - 子目录:
https://example.org/blog/。
它决定部署路径、canonical、RSS、Sitemap 和分享地址。修改后重新构建,正式发布前替换演示配置中的 example.com。
site.localePrefixPolicy 决定语言前缀。默认 redirect-to-default 将无前缀 HTML 地址通过零秒 meta refresh 直接跳到默认语言最终页;另有默认语言无前缀和强制前缀策略,见语言与翻译。
检查正式产物
pnpm install
pnpm build
pnpm preview构建包含类型检查、页面、附件、分享图、Sitemap 和 Pagefind 索引生成。预览后检查首页、文章、分类、标签、页面、图片、附件、语言切换、搜索与订阅。
Vercel 部署(推荐)
推荐连接 Git 仓库,由 Vercel 构建并发布博客。Vercel 原生支持 Astro,并允许指定构建命令与产物目录;后续提交内容即可自动更新,也可以通过预览部署检查修改。BlogGPT 使用 Astro 静态构建,保持仓库现有的 Astro 配置即可。参见 Astro 的 Vercel 部署指南。
导入仓库
- 将修改好的主题源码推送到自己的 GitHub、GitLab 或 Bitbucket 仓库,保留
package.json、pnpm-lock.yaml与pnpm-workspace.yaml。 - 在 Vercel 新建项目,连接 Git 账号并导入该仓库。
- 使用包含
blog.config.ts与根package.json的仓库根目录,按下表配置构建。
构建设置
| 设置 | 填写值 |
|---|---|
| Framework Preset | Astro |
| Root Directory | 仓库根目录,保留默认值 |
| Install Command | pnpm install --frozen-lockfile |
| Build Command | pnpm build |
| Output Directory | dist |
| Node.js Version | 24.x,满足项目的 Node.js 22.12+ 要求 |
在环境变量中添加 ENABLE_EXPERIMENTAL_COREPACK=1,应用到 Production 与 Preview,使构建使用根 package.json 的 packageManager 所指定的 pnpm 版本。构建设置与 Corepack 用法见 Vercel 官方说明。
pnpm build 会执行主题的完整构建流程,包括类型检查、内容包附件、分享图和 Pagefind 搜索索引。Vercel 将 dist 中的最终文件发布为站点。
域名与首次部署
将 site.baseUrl 设置为正式访问地址。如果先使用 Vercel 分配的域名,可填写 https://your-blog.vercel.app/,其中 your-blog 替换为实际项目域名;使用自定义域名时,填写自己的完整地址,并在 Vercel 项目中绑定域名、按提示配置 DNS。
保存配置并推送提交,然后在 Vercel 点击 Deploy。构建完成后,检查文章、图片、附件、搜索、RSS,以及未知地址的 404 页面。域名变更后,同步修改 site.baseUrl 并重新部署,让 canonical、订阅和分享地址使用新域名。
预览部署沿用 site.baseUrl 中的正式地址;预览域名用于检查页面,canonical、RSS 和分享链接仍指向正式站点。
内容更新与预览
连接 Git 后,向生产分支(通常为 main)推送提交会触发正式部署;其他分支的提交可生成预览部署,适合在合并前检查内容。生产分支与自动部署设置见 Vercel Git 集成。
修改 blog.config.ts、文章、图片或自定义文件后,提交并推送即可。预约文章在日期到达后还需触发一次构建,可在 Vercel 中重新部署,或接入定时构建流程。
其他静态托管
将完整 dist/ 设置为托管目录。保留 _astro/、搜索索引、内容包附件与生成图片。
配置目录索引,让 /zh/posts/hello/ 对应其 index.html;未知地址使用 404.html 并返回 404 状态。更新时整体替换产物,以清除旧页面和索引。
后续更新
文章发布状态、统计和搜索在构建时生成。修改内容、配置或到达预约发布时间后,重新构建并部署。可通过托管平台的自动部署或定时构建完成更新。