Gitlab Jenkins Webhook 集成

yok*_*dev 6 integration webhooks jenkins gitlab

所以目的是在推送到 Gitlab Repo 后触发 Jenkins 作业的构建,简单吗?

下载Gitlab插件后,设置项目,还是不行。我收到 403 错误。

yok*_*dev 8

经过一些试验和错误,这里是我解决问题的方法:

我尝试的事情:
当 Jenkins Anonymous 用户没有工作/构建权限时,Web 挂钩失败
需要记录 GitLab -> Jenkins 身份验证设置 如何解决 GitLab 集成 Webhook 错误“您需要(但没有)hudson 的权限。模型.哈德森”?

这是我修复此错误所遵循的步骤

“钩子执行成功但返回 HTTP 403 ......你被认证为你所在的匿名组:你需要(但没有)hudson.model.Hudson.Read......这是由 hudson.security 暗示的权限.Permission.GenericRead...”

转到Jenkins>Manage Jenkins>configuration
转到 Gitlab 部分并确保如下所示: 确保启用“项目”端点的身份验证已激活 设置完所有这些后,测试您的连接并确保成功。

在您的 Jenkins 项目中,转到配置 > 构建触发器,
在将更改推送到 Gitlab 时选择构建。Gitlab webhook URL...
另外,请确保在高级设置中生成令牌

记得在高级设置中生成令牌
现在在 Gitlab 中转到您的Project>Settings>Integrations 粘贴您在 Jenkins 项目中获得的 URL,以及在 Gitlab Build Triggers 部分中生成的令牌,删除 ssl 验证 网络钩子配置

现在点击保存并测试你的钩子
测试挂钩

你应该在 Gitlab 和 Jenkins 上收到 200 条成功消息触发作业:
Gitlab成功钩子
詹金斯开始工作
如果情况并非如此并且您仍然收到 403,则您可以执行以下操作:

在 Gitlab 中,将 Jenkins 用户添加到您的项目(您试图从中触发 webhook 的那个)。这次应该可以了!!! gitlab 成员

故障排除

如果它仍然无法正常工作,您可以使用另一个助手将记录器添加到 Jenkins 转到 Jenkins > 管理 Jenkins > 系统日志

  • 添加新的日志记录器。输入记录器的名称
  • 在输入字段上添加记录器。开始输入 gitlab 或 webhooks,
    任何与 Gitlab 或 webhooks 相关的内容 :)
    记录员 记录器配置 点击保存并开始查看当你从 Gitlab 中点击钩子时发生了什么 日志