将gitlab与jenkins集成的例外情况

时间:2017-04-14 07:54:12

标签: jenkins gitlab gitlab-ci

我在私有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>

任何人都可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

您可以在Jenkins中为此添加特殊用户并相应地在GitLab中配置Webhook,也可以取消选中复选框&#34;为&#39; / project&#39;启用身份验证。终点&#34;在全局Jenkins配置的GitLab部分。但是默认情况下应该取消选中。

答案 1 :(得分:1)

配置它的最好方法是

  1. Jenkins全局配置->
  

需要对/ project端点的授权   复制有权运行作业的Jenkins用户的用户ID和API密钥

  1. 在GitLab上创建一个Webhook来触发作业

  2. 然后使用HTTP基本身份验证(以下格式):

  

http://user:apikey@gitlab/project/jobname

答案 2 :(得分:0)

最好的选择是从Jenkins创建一个秘密令牌,然后将其添加到gitlab Webhook的秘密密钥中

答案 3 :(得分:0)

就我而言,在生成我的 Jenkins 作业的 Secret Token 后,我立即将其复制到 GitLab Webhooks 而不保存它。它没有用。但是在我保存配置后,它可以工作了。

因此请确保先保存配置的更改。