返回

Netlify 上利用子模块触发部署的简单方法

开发工具

导言

Netlify 是一个强大的平台,用于通过简单的 Git 集成在闪电般快速的环境中部署和托管静态网站。然而,Netlify 不会自动检测子模块中的提交,这可能会在使用子模块组织项目时带来挑战。本文将深入探讨如何配置 Netlify,以便在子模块中进行提交时触发部署,从而无缝管理您的项目。

子模块概述

子模块是 Git 中用于管理依赖项和外部代码库的一种机制。它允许您将外部存储库合并到您的主项目中,而无需复制其代码。使用子模块可以保持项目井井有条,并简化对依赖项的更新和维护。

在 Netlify 上启用子模块部署

默认情况下,Netlify 仅监视主仓库中的更改,而忽略子模块。为了启用子模块部署,您需要执行以下步骤:

  1. 编辑您的 Netlify 配置文件 (.netlify.toml)

    打开您的 .netlify.toml 文件并添加以下行:

    [build]
    ignore = ["submodules/**"]
    
  2. 推送您的配置更改

    将您的 .netlify.toml 文件中的更改提交并推送到您的主仓库。

  3. 创建 Netlify webhook

    登录您的 Netlify 帐户,转到您的站点设置,然后导航到 "Build & deploy" 选项卡。单击 "Edit settings",然后向下滚动到 "Webhooks" 部分。单击 "Create webhook" 并输入以下详细信息:

  4. 将 Webhook 秘钥添加到您的 Git 存储库

    在 Netlify Webhook 设置的 "Build hook secret" 字段中生成一个密钥并将其复制到您的剪贴板。转到您的 Git 存储库,转到 "Settings" 选项卡,然后选择 "Secrets"。单击 "New secret" 并输入以下详细信息:

    • 名称: NETLIFY_BUILD_HOOK
    • 值: 您复制的密钥
  5. 推送您的 webhook 设置更改

    将您的 webhook 设置更改提交并推送到您的主仓库。

工作原理

通过这些步骤,您现在已经配置 Netlify 在检测到子模块中的提交时触发部署。这是其工作原理:

  1. 当您提交更改到子模块时,Git 将在主仓库中创建一条新的提交记录。
  2. Netlify 的 webhook 会收到此提交的通知。
  3. Netlify 会检查 webhook 设置中指定的秘钥,以验证请求的真实性。
  4. 如果密钥匹配,Netlify 将触发针对您的主仓库的部署,包括对子模块的更改。

注意事项

请记住以下注意事项:

  • 该方法仅适用于 Netlify 的 Git 部署,不适用于其他部署方法(如 GitHub Actions)。
  • 如果您在子模块中使用不同的构建系统,您可能需要调整 Netlify 中的构建设置以匹配该构建系统。
  • 确保您的 Netlify webhook 设置正确,以避免因错误配置而导致的部署问题。

结论

通过遵循这些步骤,您可以轻松地配置 Netlify,以便在您对子模块进行提交时触发部署。这种方法简化了管理具有子模块的项目的部署,使您能够有效地维护和更新您的网站,而不必手动触发部署。通过利用子模块和 Netlify 的强大功能,您可以享受一个无缝且高效的部署工作流程。