You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions触发Jenkins构建时出现错误求助

解决GitHub Actions触发Jenkins构建的401/404错误

针对你遇到的GitHub Actions返回401未授权、本地curl返回404找不到的问题,按以下步骤排查解决:

先搞定本地404问题

本地curl请求返回404,核心原因是Jenkins Job的路径或名称不对:

  • 登录Jenkins控制台,确认subbu_project这个Job确实存在,名称完全匹配(Jenkins对Job名称大小写敏感,注意空格或特殊字符)
  • 如果Job在文件夹下,URL要改成/job/文件夹名/job/subbu_project/build格式,比如Job在dev文件夹里,完整路径就是http://192.168.241.134:8080/job/dev/job/subbu_project/build
  • 直接在浏览器访问http://192.168.241.134:8080/job/subbu_project/,能打开说明路径正确,打不开就是名称或层级错了

修复GitHub Actions的401未授权错误

401问题主要出在权限验证或CSRF保护上,按下面的方法调整:

1. 确认API Token正确

  • 登录Jenkins,点击右上角用户名→「设置」,重新生成API Token,把新生成的Token更新到GitHub仓库的JENKINS_API_TOKEN Secrets里,注意不要复制错字符
  • 划重点:Jenkins的API Token不是你的登录密码,是专门生成的令牌,别搞混了

2. 加上CSRF Crumb头

新版本Jenkins默认启用CSRF保护,POST请求必须带Crumb才能通过验证。修改trigger_build.yml中的执行脚本:

# 处理Jenkins URL末尾的斜杠
TRIMMED_JENKINS_URL=$(echo "$JENKINS_URL" | sed 's:/*$::')
# 构建Job路径
CLEAN_JOB_NAME="$JOB_NAME"
# 获取CSRF Crumb
CRUMB=$(curl -s "$TRIMMED_JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)" --user "$JENKINS_USER:$JENKINS_API_TOKEN")
# 拼接完整触发URL
FULL_URL="${TRIMMED_JENKINS_URL}/job/${CLEAN_JOB_NAME}/build"
echo "Full URL: $FULL_URL"
# 带Crumb触发构建
curl -v "$FULL_URL" \
     --user "$JENKINS_USER:$JENKINS_API_TOKEN" \
     --header "$CRUMB" \
     --header "Content-Type: application/x-www-form-urlencoded" \
     --data-urlencode "BUILD_NUMBER=$BUILD_NUMBER" \
     --data-urlencode "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT"

3. 检查用户权限

确保Jenkins用户subbaramaiah_chevuru拥有subbu_project这个Job的Build权限:进入Job的「配置」页面,找到权限设置部分,确认该用户有触发构建的权限

验证Runner与Jenkins的连通性

  • 在自托管Runner所在的WSL环境里,执行curl http://192.168.241.134:8080,确认能正常返回Jenkins首页内容
  • 如果之前用localhost访问,检查Jenkins是否绑定了0.0.0.0:修改Jenkins配置文件jenkins.xml,把--httpListenAddress的值改成0.0.0.0,确保WSL能访问到Jenkins服务

额外注意点

  • GitHub Secrets里的JENKINS_URL要设为http://192.168.241.134:8080,别用localhost——因为WSL的localhost指向自身,不是宿主机的Jenkins
  • 本地测试curl时,Crumb是临时的,每次请求都要重新获取,别用过期的Crumb值

内容的提问来源于stack exchange,提问作者SUBARAM RAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:22:06