gitlab的webhook与jenkins搭配方式

常用的有两种,如下图

 

 1,身份验证令牌:

 令牌可以随意写,哪怕12345678都行,然后在gitlab进行配置。一种是在管理中心配置,一种是在项目对应的设置选项里面设置,都是可以实现的。当然前提要允许网络外发。

 

 

 

 

 

像我这就配置成   http://admin:xxxx@192.168.10.418080/job/test/build?token=12345678

admin:是jenkins的web登陆账号,xxxx就是对应的密码,自己清楚

192.168.10.40:8080: jenkins的地址,也可以写域名,当然要能被gitlab解析

test:就是对应的jenkins的任务

12345678:没啥好说的就是令牌。

 

 

进行测试,会报403。这是jenkins的自身安全的问题。

 

 有办法可以解决

1.这是python途径,需要jnekins模块
from jenkinsapi.jenkins import Jenkins
conn =Jenkins('http://192.168.10.41:8080',username='admin',password='xxxx',useCrumb='12345678')
conn.build_job('test')

2.修改jenkins的配置,这种添加的参数在某些版本已经不行了,需要自行尝试,当然要重启jenkins服务
root@jenkins:~# vim /etc/default/jenkins
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"

------------------------------------------------------------------------------

这种方式是可以用curl命令执行的。

 curl http://admin:xxxx@192.168.10.41:8080/job/test/build?token=12345678

需要注意的是:账号密码需要写,不然就是没有权限。

 

 

 

2.当识别到gitlab代码自动提交时,会进行jenkins任务的自动触发。勾选。需要个插件gitlab plugin

 

 

 

 

都配置完后进行测试返回2xx响应码成功

 

 

 

 

 

----------------------------------------------

当然好多方式,自行摸鱼啦

 

posted @   好像认识你很久了  阅读(622)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示