如何调试Gitlab Web钩子?

ris*_*sin 7 webhooks gitlab sidekiq

我目前在具有专用WAN IP的KVM实例中的全新安装Ubuntu 12.04上使用gitlab_6.9.1-omnibus-1_amd64.
一切都有效,除了网络钩子.我已经添加了web钩子添加选项的所有可能方式.

  • Gitlab显示了一个带有测试按钮的钩子,它什么都不做.
  • 我还通过gitlab-rake添加了全局钩子,但这也没有做任何事情.
  • Sidekiq跑.
  • sidekiq日志中没有任何内容,就像gitlab-ctl一样 - tail没有显示任何错误.

# gitlab-rake gitlab:web_hook:list

你能否告诉我如何在GitLab上调试web钩子?

PS:我想问一下服务器故障,但我认为它必须在这里,因为它将是调试帮助.

小智 3

首先确保您的服务器可以访问互联网或 WebHook 地址,例如用于curl向您的 WebHook Url 发出请求。

如果curl请求成功,则尝试通过按钮触发您的GitLab发送WebHook请求Test。如果没有任何问题,将会出现一条通知“Hook 执行成功:HTTP 200”。如果出现任何错误,将会显示包含错误详细信息的通知。

通过推送事件触发挂钩后,您可以查找 GitLab 的日志(如果您的环境是生产环境,则在production.log中),例如WebHook Error => Failed to open TCP connection to 192.168.1.1:80 (No route to host - connect(2) for "192.168.1.1" port 80)

如果curl请求失败,请尝试找出您的网络出了什么问题。错误解决后,GitLab WebHook 请求应该会成功发送出去。