我尝试配置Jenkins。我想要一个简单的行为:触发构建新的pull请求。
我不明白我错过了什么...
Jenkins版本:2.89.2
在https://ci.mysite.fr/configure:
仍然没有构建触发:
在https://ci.mysite.fr/job/test-back/configure:
在Github上,Webhook被Jenkins发送并获得好评:
Nginx日志也是这么说的:
救命啊!
我尝试配置Jenkins。我想要一个简单的行为:触发构建新的pull请求。
我不明白我错过了什么...
Jenkins版本:2.89.2
在https://ci.mysite.fr/configure:
仍然没有构建触发:
在https://ci.mysite.fr/job/test-back/configure:
在Github上,Webhook被Jenkins发送并获得好评:
Nginx日志也是这么说的:
救命啊!
2条答案
按热度按时间6za6bjd01#
调试这类东西时需要检查的一些事情:
bvn4nwqk2#
Webhooks可以说是Jenkins最难测试的特性,因为有这样的陷阱(可能他们的列表是不完整的):
1.必须为每个管道构建创建新的
git commit / git push
(重复以前的构建不会触发新的构建,即使webhook已经正确设置-参见下文)。1.在正确设置webhook后进行的第一次构建必须是手动的(不可能从webhook本身进行引导)。
1.在正确设置webhook后进行的第一次构建必须完全成功,更改才能生效,webhook才能开始工作。这也会导致Jenkins错过在新创建的管道的第一次构建期间发出的所有传入请求。
1.对于新创建的管道,请确保检查
Build Triggers > GitHub hook trigger for GITScm polling
(必须在每个管道中启用)。请注意,不可能再次使用相同的构建条件触发构建(至少使用webhook)。因此,你可能已经有了一个正确的webhook设置,但除非你创建一个新的git commit并将其推送到Github上的远程repo,否则你不会发现它可以工作。如果你试图一遍又一遍地重复一些旧的推送,只需在Github的Webhooks / Manage webhook页面上的Recent delivery部分按下“Redivery”按钮,Jenkins将永远不会超越“poke”repo阶段,因为它需要检测SCM更改以触发新的构建:
有关第2)和第3)点的更多信息:见原始source。