|NO.Z.00042|——————————|CloudNative|——|CI/CD&Jenkins_pipeline操作.V16|——|Jenkins_pipeline+Git持续部署应用|
一、Jenkins_pipeline+Git持续部署应用
### --- Jenkins结合gitlab使用
~~~ # 创建一个新的任务
~~~ ——>输入项目的名称,选择构建只有分风格的软件


二、将Jenkins与gitlab联合
### --- Jenkins创建公钥和私钥
~~~ 生成公钥文件
[root@qfedu.com ~]# ssh-keygen
[root@qfedu.com ~]# cat .ssh/id_rsa.pub
[root@qfedu.com ~]# cat .ssh/id_rsa
~~~ # 在gitlab中添加公钥id_rsa.pub
~~~ # 在jenkins中添加私钥id_rsa:在首页中,点击项目名称的下拉监听
~~~ # 创建ssh凭证:选择SSH密钥和证书,然后选择直接输入,将私钥复制到下框中即可
~~~ ——>添加完成后,点击保存
~~~ ——>选择刚才创建的证书,完成后,选择构建
~~~ # **选择构建**
~~~ ——>拉到最底部,选择使用shell脚本
~~~ ——>选择源码管理,先将gitlab的项目地址复制过来
~~~ ——>脚本内容
~~~ # 创建测试环境
~~~ ——> 选择构建后的操作,让每次构建完成后都将结果发送给管理员
[root@qfedu.com ~]# mkdir -p /data/www
[root@qfedu.com ~]# chown -R jenkins.jenkins /data/








三、验证测试
### --- 测试手动集成
~~~ ——>回到主页,点击右侧的按钮进行测试
~~~ ——>部署完成
~~~ ——>查看部署日志
~~~ ——>查看部署结果
[root@qfedu.com ~]# ll /data/www/
-rw-r--r-- 1 jenkins jenkins 4 11月 30 21:22 flag
-rw-r--r-- 1 jenkins jenkins 0 11月 30 21:22 README.md



四、自动测试(gitlab主动通知Jenkins测试)
### --- 自动测试(gitlab主动通知Jenkins测试)
~~~ # 该功能会使用到一个插件 **gitlab plugin**
~~~ ——>配置gitlab认证
~~~ # 添加一个新的凭证
~~~ # 从gitlab的设置中将 token复制过来(需要手动创建token)
~~~ ——>将复制的token粘贴到api token中,点ok
~~~ ——>在系统配置中找到**Gitlab** 将信息进行填写,Credentials 选择刚刚创建对的即可
~~~ # 打开项目,编辑项目的构建触发器
~~~ # 在gitlab上配置连接jenkins ,将Jenkins的Secret token 与Build URL 复制到gitlab中
~~~ ——>注意: 在项目设置中的集成
~~~ # 保存之前先进程测试,测试成功后进行保存
~~~ # 在gitlab进行上传文件,可以测试。
~~~ ——>在日志中显示是 Started by GitLab push by Administrator 即表示自动集成成功









附录一:
### --- 报错现象:
~~~ 很多朋友使用最新版本的gitlab做自动部署时,在增加web参数那一步,
~~~ 点击test push events时会报错:Url is blocked: Requests to the local network are not allowed

### --- 解决方案:
~~~ ——>这是因为新版的gitlab为了安全默认禁止了本地局域网地址调用web hook
~~~ ——>我们在设置里允许就行,具体步骤如下:



Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv015-jenkins2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」