jenkins + gitlab 自动部署(webhook)

Jenkins是一个流行的开源CI/CD工具,可以与Git等版本控制系统集成,实现自动构建、测试和部署。Webhook是一种机制,可以在Git仓库中设置,在代码提交或合并请求时触发Jenkins构建任务,以完成自动化部署。

实操

设备信息

|---------|-----------------|-------|
| jenkins | 192.168.231.241 | 6核12G |
| gitlab | 192.168.231.238 | 4核8G |

1. gitlab端远程仓库信息

2. 在Jenkins中创建一个新的构建任务。

3. 配置构建任务的参数,如源代码库地址、分支

选择gitlab远程仓库的URL

Credentials需要手动添加登录gitlab的用户及密码

观察远程从仓库的分支,如果是master就改成master

4. 构建触发器

接着

接着点击高级

点击Generate,生成秘密令牌,在gitlab的web端webhook需要用到

5. 在Git仓库中配置Webhook,将Webhook的URL设置为Jenkins构建任务的URL,并选择触发来源,如推送事件,代码提交、合并请求等。

底下最后一行有SSL验证,点击取消

令牌是之前在jenkins构建触发器,生成的秘密令牌

URL是在jenkins构建触发器是显示的

保存完后 点击测试 出现200则证明添加成功

错误提醒:如果出现选择webhook失败

解决办法:打开管理中心,网络设置

6.生成shell测试

在jenkins网页端

7. 开始构建测试,只要修改远程仓库的代码,jenkins端即自动构建

解析

webhook,避免了传统获取数据的拉的方式。不用本地不断用轮询的方式向对方服务器发送请求来知晓是否已经处理完成。而是给对方服务器提前设置好了hook url。这样地方在处理完成后就会给这个url发送请求结果了。采取的是推数据的方式。

webhook适用于开发测试环境,提交一次代码就构建一次,不建议在生产环境

相关推荐
唯独失去了从容1 小时前
WebRTC服务器Coturn服务器的管理平台功能
运维·服务器·webrtc
roman_日积跬步-终至千里4 小时前
【K8s基础】K8s下的Helm和Operator:包管理器与运维程序化
运维·容器·kubernetes
PassLink_5 小时前
[Kaggle]:使用Kaggle服务器训练YOLOv5模型 (白嫖服务器)
运维·服务器·yolo
极小狐6 小时前
极狐GitLab 合并请求依赖如何解决?
运维·git·ssh·gitlab·github
程序猿(雷霆之王)6 小时前
Linux——进程间通信
linux·运维·服务器
Cloud_Air7548 小时前
从零开始使用SSH链接目标主机(包括Github添加SSH验证,主机连接远程机SSH验证)
运维·ssh
Hello.Reader9 小时前
基于 Nginx 的 WebSocket 反向代理实践
运维·websocket·nginx
qq_2739002310 小时前
CentOS系统防火墙服务介绍
linux·运维·centos
小灰灰__10 小时前
Linux安装ffmpeg7.1操作说明
linux·运维·服务器
互联网搬砖老肖10 小时前
运维打铁:Centos 7 安装 redis_exporter 1.3.5
运维·redis·centos