Gitlab Jenkins Webhook集成

时间:2019-04-15 16:38:18

标签: jenkins gitlab integration webhooks

所以目的是在推动Gitlab Repo后,在Jenkins的工作上进行构建,简单吗?

下载Gitlab插件后,设置项目,仍然没有运气。我收到403错误。

1 个答案:

答案 0 :(得分:0)

经过反复试验,这是我解决问题的方法:

我尝试的事情:
Web hook fails when Jenkins Anonymous user does not have job/build permission
Need to document GitLab -> Jenkins authentication setup How Do You Troubleshoot the GitLab Integration Webhook Error "Permission you need to have (but didn't) hudson.model.Hudson"?

这是我要纠正此错误的步骤

  

“挂钩成功执行,但返回HTTP 403 ...您已通过身份验证为所在的匿名组:您需要(但没有)hudson.model.Hudson.Read ...所允许的权限... hudson.security.Permission.GenericRead ...”

转到 Jenkins>管理Jenkins>配置
转到Gitlab部分,并确保如下所示: Make sure Enable authentication for 'project' end-point is activated 设置完所有这些测试之后,您就可以连接并确保连接成功。

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

remember to generate the token in advanced settings
现在,在Gitlab中转到您的项目>设置>集成 粘贴您在Jenkins项目中获得的URL以及在Gitlab Build Triggers部分中生成的令牌,删除ssl验证 Webhook conf

现在点击保存并测试您的钩子
Test hook

您应该在Gitlab和詹金斯(Jenkins)上收到200条成功消息,提示已触发工作: GitlabSuccess hook
Jenkins initiated job
如果不是这种情况,您仍然可以得到403,可以执行以下操作:

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

故障排除

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

  • 添加新的日志记录器。输入记录器的名称
  • 在输入字段中添加记录器。开始输入gitlab或webhooks,
    与Gitlab或webhooks相关的任何东西:)
    loggers loggers conf 点击保存并开始查看当您从Gitlab上钩时发生了什么 logs