git使用webhook触发Jenkins构建问题Error 403 No valid crumb was included in the reques和Authentication required

实现目标是 当项目代码由本地push至远程仓库后 立即触发Jenkins构建

遇到两个问题

其一 报错:

Error 403 No valid crumb was included in the request

这是因为Jenkins防止跨站点请求伪造这个功能未关闭

在Jenkins设置中反选此功能即可解决

另外 由于Jenkins新版本中不再提供防止跨站点请求伪造的勾选框 所以需要修改Jenkins启动项

小弟我的环境是docker里含Jenkins 所以:

进入docker容器中

docker exec -u root  -it jenkins  bash

找到 配置文件

vim/usr/local/bin/jenkins.sh

(docker内部可能不支持vim 需要先安装一下sudo apt-get install vim)

找到exec java 添加:

-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

重启jenkins容器

docker restart jenkins

查看跨站请求伪造保护

如出现:This configuration is unavailable because the System property hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION is set to true.

That option should be considered unsupported and its use should be limited to working around compatibility problems until they are resolved.

则表示成功

其二 报错:

Authentication required

在Jenkins全局安全配置 授权策略 登录用户可以做任何事 下

勾选 匿名用户具有可读权限

即可解决

你可能感兴趣的:(git,jenkins,运维)