【发布时间】:2019-01-07 23:01:16
【问题描述】:
我正在使用 Travis CI 从 this bookdown GitHub repo 构建站点并部署到 gh-pages 分支。这种方法最有效,但我也想使用 Netlify 显示拉取请求的草稿预览。到目前为止,Netlify 部署通知正在对传入的源文件做出反应,而不是 Travis 正在构建的 HTML 文件。 Netlify 预览版来得太早,页面是空白的。
编辑:工作流程
在这个specific project 中,我们有一堆源文件,它们最终会为网站生成 HTML 文件。 master 分支只有源代码,gh-pages 分支只有 HTML。我正在使用 Travis 使用 master 上的源代码编译 HTML,然后将其推送到 gh-pages。这非常适合我自己的开发,因为它可以自动完成 10 分钟的网站生成过程。
我希望使用 Netlify 为来自开源社区的合作者和外部志愿者的拉取请求启用站点预览。我画的像下面这样。
- 外部开发人员从https://github.com/ropenscilabs/drake-manual 的主分支分叉源并进行了一些更改。
- 然后,开发人员提交拉取请求,将更改的源文件合并到上游 master 分支。 HTML 不一定是在此过程中生成的。
- Travis CI 从 fork 构建 HTML 文件,但由于拉取请求尚未获得批准,它不会提交到
gh-pages或推送到 GitHub。相反,它将 HTML 文件直接发送到 Netlify。 - Netlify 接收 HTML,生成预览,并使用 incominb webhook 通知 GitHub 拉取请求。
我意识到对 Travis 环境变量的安全限制使这部分成为不可能,这是正确的。但这是我最终希望实现的那种自动化部署。
【问题讨论】: