避免在github webhook中嵌套推送事件

时间:2016-06-11 14:59:03

标签: github github-api

我的网站是从单个github存储库生成的,其中包含两个不同的文件夹源(模板,降价和资产)和站点(html和资产)。我为push事件设置了一个github webhook,它触发了一个pull,一个构建,并将生成的站点推送回同一个github repo,但前提是头部提交的id(来自webhook有效负载)不同于在服务器上重新解析了HEAD。这可以防止递归循环,一切正常(现在)。

然而,我担心无限循环的可能性,我正在寻找更强大的解决方案。不幸的是,由于无关紧要的原因,我没有选择使用两个单独的回购源和网站。

我是否有一个解决方案,我可以在单个源+站点回购中使用此远程构建功能?

谢谢。

1 个答案:

答案 0 :(得分:1)

一个常见的解决方案是在提交消息中有一个特殊标记,用于不应触发构建过程的提交。例如,使用新版本的站点进行提交可能是“[ci skip] Site Rebuilt”。

对于travis ci,只要提交包含“[ci skip]”,它就不会构建它。在jenkins中,这可以与用于轮询git的“轮询忽略具有某些消息的提交”设置一起使用。 Bamboo具有“排除变更集”配置,可配置为排除提交消息。