6

我有一个项目,我使用 Travis CI 进行 CI。我在 netlify 也有一个网站设置来部署所述项目。我的 Travis CI 中涉及的步骤基本上是运行测试,然后调用 netlify 构建钩子来触发构建并在 netlify 上部署。

但是,我遇到的问题是 netlify 每次更新主分支时都会进行构建和部署。所以,我想要实现的是这个

  • 主分支已更新
  • travis 构建触发
  • travis 完成后,它调用 netlify build hook 启动 netlify deploy

netlify 似乎有一个选项可以添加skip-ci提交消息,但我希望有一个更好的自动化解决方案。

4

1 回答 1

14

停止自动部署站点构建

Netlify 可以停止每个站点的自动发布。在 Netlify 管理控制台中,登录并选择site > Deploys“停止自动发布”

在此处输入图像描述

“停止自动发布”不会为您的站点关闭 Netlify CI 中的构建或预览。它只会停止更改站点文件的原子部署!要部署构建,您必须手动部署。

关闭分支的构建

这将取决于您要做什么,但我们将介绍几个案例。

构建案例 #1(无需构建)

您可能有一个在 3rd 方 CI 系统上预构建的站点,例如 GitHub Actions,您的工作流程是将静态站点更改推送回存储库。在这种情况下,您并没有关闭构建步骤,而是希望它在有更改时发布。

解决方案:创建什么都不做的构建命令。例如,"echo 'There is nothing to build here!'"

构建案例 #2(无持续部署,手动部署)

尽管这用于 CLI 部署,但您可能还有其他原因想要忽略分支。您只是不希望站点做任何事情,因为它是通过netlify-cli.

此方法将文件直接从您的本地项目目录上传到您在 Netlify 上的站点(阅读此处)。

解决方案:在站点的管理控制台中将您的生产分支更改为不存在的分支名称(即。does-not-exist),然后关闭部署预览并设置为仅构建不存在的生产分支。

在此处输入图像描述

于 2019-09-30T17:50:11.467 回答