我在私有Gitlab v9.0实例上创建并配置了一个项目。我已经在Jenkins v2.46.1上导入了这个项目,与gitlab的连接成功了。之后,我尝试在gitlab中从repo配置push事件的构建触发器。我已经在jenkins上为它生成了秘密令牌,并在我尝试测试webhook时添加了一个带有Gitlab CI URL和秘密令牌的webhook,它在异常下面返回了我
Hook executed successfully but returned HTTP 403 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Error 403 anonymous is missing the Job/Build permission</title> </head> <body><h2>HTTP ERROR 403</h2> <p>Problem accessing /project/tapp-builder-service. Reason: <pre> anonymous is missing the Job/Build permission</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/> </body> </html>
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您可以在Jenkins中为此添加特殊用户并相应地在GitLab中配置Webhook,也可以取消选中复选框&#34;为&#39; / project&#39;启用身份验证。终点&#34;在全局Jenkins配置的GitLab部分。但是默认情况下应该取消选中。
答案 1 :(得分:1)
配置它的最好方法是
需要对/ project端点的授权 复制有权运行作业的Jenkins用户的用户ID和API密钥
在GitLab上创建一个Webhook来触发作业
然后使用HTTP基本身份验证(以下格式):
答案 2 :(得分:0)
最好的选择是从Jenkins创建一个秘密令牌,然后将其添加到gitlab Webhook的秘密密钥中
答案 3 :(得分:0)
就我而言,在生成我的 Jenkins 作业的 Secret Token 后,我立即将其复制到 GitLab Webhooks 而不保存它。它没有用。但是在我保存配置后,它可以工作了。
因此请确保先保存配置的更改。