jenkins 设置 gitlab web hooks

简介: 背景 接口自动化期望代码push后触发实现持续集成,代码push后,自动化执行jenkins的job。   步骤 准备工作 工具:jenkins,gitlab jenkins需要安装插件:git plugin,gitlab hook plugin , gitlab plugin(有的插件...

背景

接口自动化期望代码push后触发实现持续集成,代码push后,自动化执行jenkins的job。

 

步骤

准备工作

工具:jenkins,gitlab

jenkins需要安装插件:git plugin,gitlab hook plugin , gitlab plugin(有的插件是自带的,缺什么安装什么)

gitlab:确保有web hook权限,这个跟公司的gitlab有关,入口settings下的web hooks如下:

 

 确保gitlab跟jenkins的连通性

hook的大概原理其实很简单:设置了web hooks后,当git项目触发了event后会往你填写的hooks URL发送一个post请求

那么首先要确保gitlab跟jenkins服务器的连通性

我这边是在jenkins服务器通过flask框架写了一个测试的接口:

from flask import Flask,request
app= Flask(__name__)

@app.route("/test",methods=['GET', 'POST'])
def hello():
#       return "Hello World!"
        print(request.data);
        return request.data

if __name__ == "__main__":
        app.run(host='0.0.0.0',debug=True,port=8080)

那么通过POST请求访问http://your-jenkins-server-ip:8080/test会返回你request的body数据

设置web hooks的URL为http://your-jenkins-server-ip:8080/test后保存,

点击“TEST HOOK”测试这个hook是否生效,正常的话,页面提示200

 

设置jenkins

源码管理设置

 

 构建触发器设置,这个URL是gitlab web hook那里需要填写的URL

设置完毕后,点击保存

 

设置gitlab的web hook

URL填写jenkins上的那个URL,这里的就是上图的http://your-jenkins-server-ip:port/project/smart

 

测试是否生效

在gitlab上对代码进行update,然后commit;

去到jenkins查看job是否被执行:

 

 

 小结

1. 需要弄清楚原理,是gitlab访问设置的hook URL;

2. 当设置jenkins和gitlab都设置的没问题,但TEST HOOK就是不通过的时候,需要思考为什么有这种情况?于是怀疑是公司gitlab和自己搭建的jenkins网络不通;

3. 找了安全同事帮忙配置后,还是不通(怀疑人生了),思考可以通过什么方法快速验证网络还是不通过呢?于是尝试自己写一个简单接口验证;

 

虽千万人,吾往矣!
目录
相关文章
|
1月前
|
前端开发
web前端开发-----CSS样式设置
web前端开发-----CSS样式设置
29 0
|
2月前
|
数据可视化 Shell Linux
shell+crontab+gitlab实现ecs服务器文件的web展示
本文通过把ecs服务器上的文件定时上传至gitlab,实现文件的页面可视化和修改历史。技术点:shell、crontab、gitlab。
50 3
|
4月前
|
安全 jenkins 持续交付
Jenkins设置视图权限
Jenkins设置视图权限
|
6月前
|
存储 Java Linux
Jenkins+Gitlab+Docker(Dockerfile)部署
Jenkins+Gitlab+Docker(Dockerfile)部署
138 1
|
6月前
|
Cloud Native jenkins 持续交付
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
|
6月前
|
jenkins Linux 持续交付
聊聊Linux常用命令、Docker容器化、本地镜像仓库、GitLab私服、Jenkins自动化部署
聊聊Linux常用命令、Docker容器化、本地镜像仓库、GitLab私服、Jenkins自动化部署
118 0
|
3月前
|
存储 jenkins 持续交付
百度搜索:蓝易云【Docker+Rancher+Harbor+GitLab+Jenkins搭建CI/CD环境】
请注意,上述步骤仅为一个示例,实际搭建过程可能因环境和需求的不同而有所变化。因此,在实际操作中,请参考相应工具的官方文档和指南,以确保正确地配置和集成这些工具。
56 3
|
3月前
|
存储 Ubuntu 关系型数据库
Ubuntu端Sidecar安装及Web界面设置
本文主要是对Sidecars的配置,以下方法经过本人的亲自测试,亲测有效,放心大胆使用。
84 0
Ubuntu端Sidecar安装及Web界面设置
|
4月前
|
jenkins Java 应用服务中间件
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
67 0
|
4月前
|
JSON 开发框架 .NET
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式