Github webhooks - 预推钩

Gau*_*hod 6 webhooks githooks github-api

我的要求是,每当开发人员推送到github时,那么在推送之前,CI构建应该在Jenkins服务器上触发.如果该构建失败,则应拒绝推送到github.我需要为此编写钩子,但我不想编写客户端钩子,因为开发人员可以禁用它们.我想要服务器端github webhooks或预接收挂钩.

现在,这甚至可能实现吗?如果是,那么从哪里开始?我需要Rest API的知识吗?我需要编写shell脚本吗?

Von*_*onC 8

这通常不是GitHub可以使用的工作流程.
你宁愿使用带有2个GitHub repo的"guarded commits"模型:


这就是我的项目的要求,无法改变

在这种情况下,最好遵循构建CI服务器,该服务器将:

  • 检测推送并触发编译
  • 推回专用分支以获得有效的comimt(例如,它可能是主分支)

这意味着开发人员应该只推送到服务器监控的"dev"分支,如果编译通过,你的CI引擎会将这些提交推送到主分支.