【JDK+jenkins+gitee实现CI/CD(之三)】 jenkins拉取gitee代码WebHook返回403或404错误

发布时间 2024-01-05 16:13:33作者: 知兮

 

先上几张让我纠结了很多天的截图

 

 

以上是在我配置好jenkins和gitee令牌后一直出现的错误,

查询了很多天资料后,确认造成的主要原因就是权限问题

我的Jenkins 是最新的版本2.426.2,说下以下我使用过但无效果的办法,这些方法不能解决我提交代码后Jenkins触发WebHook的403问题

// 1,修改jenkins.service文件中的csrf开关 【无效】
vim /usr/lib/systemd/system/jenkins.service
Environment="JAVA_OPTS=-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "
// 2,修改config.xml文件中的csrf开关 【无效】
vim /root/.jenkins/config.xml
 <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
  </crumbIssuer>
// 3,修改系统管理->全局安全配置中的(匿名用户具有可读权限)+(启用代理兼容)【无效】
// 4,修改系统管理->全局安全配置-> 工具和动作 -> 脚本命令行 中的(关闭csrf开关)【无效】
此步与第一步上效果一样,只是运行命令行后jenkins重启后需要重新执行,第一步中写入配置文件中一直执行
// 5,查看jenkins在服务器上的出行端口一否开放【一直开放中】
// 6,查看服务器防火墙状态【一直开放中】
// 7,更换jenkins中使用的gitee令牌【无效】
// 8,更换gitee中的jenkins中的WebHook 密码/签名密钥和URL【无效】

 

解决办法:不使用jenkins的签名密钥和项目URL去触发GITEE的WebHook,而是使用token鉴权。

1,安装生成token的jenkins插件(Generic Webhook Trigger)

 2,生成token,并配置jenkins项目中的token

 

 

 

 

 

 

 

 

http://你的jenkins地址:8080/generic-webhook-trigger/invoke?token=11ee5afsdfsdfdsfsdf

 

3,配置gitee中的WebHook

 

 

4,点击重新发送或使用其他git工具提交gitee代码,就可以触发jenkins自动构建啦