OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  netlify:使用 Netlify CLI 搭建网站、设置 CI/CD 及项目链接链接

netlify:使用 Netlify CLI 搭建网站、设置 CI/CD 及项目链接链接

 
  migration ·  2026-02-25 06:31:07 · 2 次点击  · 0 条评论  

名称: netlify
描述: 使用 Netlify CLI (netlify) 来创建/关联 Netlify 站点,并设置从 GitHub 到 Netlify 的 CI/CD(持续部署),尤其适用于单体仓库(monorepo,即一个仓库中包含多个站点,例如位于 sites/<domain> 下的 Hugo 站点)。当 Avery 要求部署新站点、将仓库连接到 Netlify、配置构建/发布设置、设置环境变量、启用部署预览或自动化创建 Netlify 站点时使用。


netlify

使用 netlify CLI 来创建项目(“站点”)、关联本地文件夹,并配置从 GitHub 到 Netlify 的 CI/CD。

前提条件

  • netlify --version
  • 已登录 (netlify login) 提供 --auth $NETLIFY_AUTH_TOKEN
  • 了解您要在其下创建站点的 Netlify 团队/账户标识符(可选但建议)。

有用的检查命令:

netlify status
netlify sites:list

单体仓库模式(推荐)

适用于 一个仓库包含多个站点 的情况(例如 sites/seattlecustomboatparts.com, sites/floridacustomerboatparts.com):

  • 为每个域名创建 一个独立的 Netlify 站点
  • 将站点的 基础目录 设置为对应的子文件夹。
  • 在该子文件夹内放置一个 netlify.toml 文件。

这可以确保每个域名的构建配置是独立的。

Hugo 子文件夹的 netlify.toml

sites/<domain>/ 目录下创建 netlify.toml

[build]
  command = "hugo --minify"
  publish = "public"

[build.environment]
  HUGO_VERSION = "0.155.1"

(请根据需要调整 HUGO_VERSION。)

快速工作流:创建 + 关联 + 初始化 CI/CD

1) 创建 Netlify 站点(项目)

在您想要部署的站点文件夹(基础目录)内运行:

cd sites/<domain>
netlify sites:create --name <netlify-site-name> --account-slug <team> --with-ci

说明:
- --with-ci 会开始设置 CI 钩子。
- 如果需要手动控制,可以添加 --manual

2) 将本地文件夹关联到已创建的站点

如果尚未关联:

netlify link

3) 连接到 GitHub 以实现持续部署

netlify init

此步骤通常是交互式的(选择 Git 远程仓库/仓库 + 构建设置)。为了实现自动化,我们可以预先创建好 netlify.toml 文件,然后接受默认设置。

环境变量

设置每个站点特定的变量:

netlify env:set VAR_NAME value
netlify env:list

对于单体仓库很有用的变量:
- CONTACT_EMAIL(或其他共享配置)

部署

手动部署(便于快速预览):

netlify deploy            # 草稿部署
netlify deploy --prod     # 生产环境部署

包含的脚本

  • scripts/hugo_netlify_toml.sh:在 Hugo 子文件夹中创建 netlify.toml 文件。
  • scripts/netlify_monorepo_site.sh:帮助为子文件夹创建/关联/初始化站点的辅助脚本。

使用脚本时,建议通过环境变量传递 NETLIFY_AUTH_TOKEN 以实现非交互式运行。

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor