背景

接口自动化期望代码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.dataif __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. 找了安全同事帮忙配置后,还是不通(怀疑人生了),思考可以通过什么方法快速验证网络还是不通过呢?于是尝试自己写一个简单接口验证;

虽千万人,吾往矣!

jenkins 设置 gitlab web hooks相关推荐

  1. 自动化发布-GitLab WEB Hooks 配置

    钩子(hooks) Git是在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件.触发器之类的东西类似). Git Hooks就是那些在Git执行特定事件(如commit.push ...

  2. gitlab php自动化测试,自动化发布-GitLab WEB Hooks 配置

    钩子(hooks)Git是在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件.触发器之类的东西类似). Git Hooks就是那些在Git执行特定事件(如commit.push. ...

  3. Jenkins设置GitLab push事件发生时自动构建

    下面的步骤建立在已经新建好一个item之后,这里主要讲解如何设置Gitlab 上的project 有push事件时,触发Jenkins构建. 设置工作空间 工作空间就是要指定你的项目在哪台机器以及哪个 ...

  4. 自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化

    今天分享服务搭建第二篇:Jenkins+Jmeter+Ant自动化集成(服务) 一.Ant 服务配置 1.配置报告模板和 ant build 确定脚本的目录,当前放在Jmeter 目录下 #cd /u ...

  5. Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    一.环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴.具体只讲述Jenkins配置以及整个流程的实现. 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_1 ...

  6. 持续集成[代码流水线管理及Jenkins和gitlab集成]-自动化部署05

    安装sonar Scanner 打开http://www.sonarqube.org/官网 找到下面扫描器 通过这个扫描器可以分析代码分析 因此你也的安装这个扫描器 上传sonar-scanner-2 ...

  7. 末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站

    Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站 一.Jinkens安装                                                ...

  8. Jenkins 与 GitLab 的自动化构建之旅

    本文来自作者 墨雪卿 在 GitChat 上分享 「Jenkins 与 GitLab 的自动化构建之旅」,「阅读原文」查看交流实录. 「文末高能」 上一篇:<Git 企业开发者教程> 1. ...

  9. kubernetes的DevOps业务(一):Jenkins,GitLab,Harbor,Tekton,GitOps

    文章目录 CI/CD JenKins 安装 插入一个问题解决(没遇到这个问题的直接跳过) 架构 配置 测试 Gitlab 一个奇怪的现象 Git 部署配置git git本地仓库使用 对比各个区域文件内 ...

  10. 使用jenkins SonarQube gitlab 构建自动化发布系统

    目前持续集成的生态越来越完善,工具也有很多,开源的或商业的.如: 最最流行的,也是使用最多的 Jenkins 有着持续集成DNA的ThoughtWorks GO.理念:"Deployment ...

最新文章

  1. Kali Linux常用服务配置教程启动DHCP服务
  2. 让VisualStudio的StartPage关联自己的博客
  3. 【topoSort拓扑排序】1424. 奖金(简单题目看拓扑排序)
  4. 如何让签到成为提升用户活跃度的利器
  5. iOS UIModalPresentationFormSheet风格下的键盘隐藏
  6. 链表的代码实现【数据结构F】
  7. 数据搬运组件:基于Sqoop管理数据导入和导出
  8. 通俗易懂的5G 入门科普!
  9. 假如给Go语言加上注解,程序会变怎样?
  10. 拦截器BridgeInterceptor分析
  11. iOS中Lua脚本应用笔记一:脚本概念相关
  12. Base64 转图片
  13. Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法
  14. 捻花成佛:成为股市高手需要读多少书
  15. Excel在统计分析中的应用—第二章—描述性统计-Part5-峰度(峰值和矩峰度系数)
  16. macbook清理磁盘空间
  17. shields 徽标_创意讲故事徽标的剖析
  18. Vite-babysitter 像月嫂?保姆?照顾孩子一般为你讲解Vite源码。
  19. ITK-SNAP截图时关闭十字定位线
  20. 算法作业 (三)——— 装箱问题

热门文章

  1. JavaScript--如何插入JS
  2. 关于MJ刷新的报Too many arguments to function call, expected 0, have *问题
  3. 自定义View调用onDraw方法
  4. javascript移动设备触屏事件
  5. IIS(IISReset.exe)命令行(备忘)
  6. c#解析XML到DATASET及dataset转为xml文件函数
  7. Python绘制数码管(系统时间)
  8. 多线程/多进程/异步IO
  9. Python网络编程(2)-粘包现象及socketserver模块实现TCP并发
  10. mongodb 集合操作 (增删改查)