gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结

最新一直在学习 工作 + 学习 去掉 90%   所以blog  一直没更 真是很不好!  exsi ceph gitlab jenkins harbor k8s  docker-compose apollo  springboot  dubbo      太多太多 。。。整合  

主题:

如何设置GitLab以及Jenkins,实现每次GitLab上有提交事件的时候,都能触发Jenkins执行相应的操作,总结一下 主要分为以下几个步骤:

1、新建GitLab测试用例

进入个人GitLab账号,在右上角的加号中,选出GitLab 的 New Project,可以新建个人的GitLab工程:

其余都走默认的设置,填写好project的名字,可以创建一个新的project,如图:

2、设置Jenkins

2.1 首先安装 GitLab plugin

在“系统管理”->“插件管理”,查看已安装插件,输入 GitLab, 看看是否已经安装,如果没有,则 查看 可选插件,搜索 GitLab,安装后重启即可。

2.2 新建一个测试工程

新建一个job,如图:

源码管理选择Git, 输入刚刚新建的GitLab的 URL以及个人的API_TOKEN:

目前只有master分支,后续可以根据不同分支对应设置不同的url,监听不同分支的情况。
在构建触发器选项中,勾选 Build when a change is pushed to GitLab ,该选项最后的URL就是这个工程的URL路径,注意如果是本机,则会显示localhost, 可以将localhost改为个人的ip。
注意这个url, 下一步会用到这个url。可以在工程中设置构建后的操作后登到另一台  centos 执行  执行一句shell脚本:

需要先添加密钥 凭据 在添加 host主机

主界面  >> 系统管理  >>>  系统设置    >> SSH remote hosts

返加主界面  >>>     点击: demo(project)  >>  配置

3. 设置GitLab的webhook

GitLab版本在不断变换,该版本的GitLab,如图可以找到WebHook的设置入口:

填入的url就是刚刚测试, 勾选push Event,这样就是每次有push操作的时候,就会触发webhook,执行填入的url中的操作:

点击保存,然后点击Test,可以测试是否可以执行,一般会报这些错误:

3.1 anonymous build

不支持匿名build, 这是回到jenkins中,在 系统管理 -> 全局安全管理中, 勾选 匿名用户具有可读权限 如图:

然后点击应用和保存, 回到GitLab,继续测试. 如果继续抱该错,则进入刚刚构建的工程,点击 构建触发器中选中的Build When a change is pushed右下角的高级选项,有一个Secret token,点击 Generate,会生成一个安全代码:

\

复制到webhook中的url下面:

然后保存,再测试,就可以通过,这时候会触发jenkins执行一次操作:

看看控制台输出:

3.2 valid crumb

如果报该错,则在安全设置中,不勾选 CSRF, 如图:

测试通过,后续可以在此基础上拓展, 监听不同GitLab,同一个GitLab的不同分支的push操作,来分别触发jenkins端执行对应的操作。

4. gitlab  用管理用户(root)登陆 修改如下:    允许gitlab 本地局域网访问

原文地址:https://www.cnblogs.com/python-diy/p/10182460.html

时间: 2024-11-05 14:57:38

gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结的相关文章

码云Webhook触发Jenkins自动构建 - Jenkins演练(一)

今天自己看着插件文档摸索了一下,实现了git push后Webhook自动触发Jenkins进行代码构建,可通用gitlab.github等平台,中文关于这方面自动部署的文档比较少,所以把我的学习过程记录下来,让其他人少走点弯路. 模拟场景:开发人员在dev分支提交代码后,Jenkins自动构建和部署,非dev分支提交代码不会触发. 实战环境:码云(git.oschina.net).Jenkins(可在公网访问).插件Generic Webhook Trigger 步骤1: 码云新增一个项目,新

手工触发jenkins自动构建

手工触发jenkins自动构建 点击项目的配置 2. 设置手工构建连接 3.在浏览器里输入来触发jenkins的项目构建

SVN怎么触发Jenkins自动构建

通常,有几种方式可以在SVN仓库发生改变时触发Jenkins进行构建.第一种是,Jenkins主动轮询SVN仓库:第二种是,在SVN客户端(如TortoiseSVN)创建客户端hooks来触发构建:第三种是,在SVN服务器端,创建仓库hooks来触发构建.而我所要介绍的就是这第三种. 在http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks这里可以找到如何创建仓库hooks

实战:向GitHub提交代码时触发Jenkins自动构建

参考 https://blog.csdn.net/boling_cavalry/article/details/78943061 https://www.jianshu.com/p/967895761953 https://blog.csdn.net/qq_23603437/article/details/82885375 https://www.jianshu.com/p/eeb15a408d88 原文地址:https://www.cnblogs.com/kaerxifa/p/10895736

利用GitLab webhook来实现触发Jenkins自动操作

本文针对如何设置GitLab以及Jenkins,实现每次GitLab上有提交事件的时候,都能触发Jenkins执行相应的操作,主要分为以下几个步骤: 1.新建GitLab测试用例 进入个人GitLab账号,在右上角的加号中,选出GitLab 的 New Project,可以新建个人的GitLab工程: 其余都走默认的设置,填写好project的名字,可以创建一个新的project,如图: 2.设置Jenkins 2.1 首先安装 GitLab plugin 在"系统管理"->&q

接口自动化:Jenkins 自动构建python+nose测试

参考: http://www.cnblogs.com/LanTianYou/p/6559916.html#_label1 http://blog.csdn.net/limm33/article/details/51191263 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建的任务,这里我们选择执行一段脚本) 1,创建节点: jenkins->系统管理->管理节点->新增节

jenkins 自动构建gitlab项目

安装的plugin: - kubernetes:1.7.1    - workflow-aggregator:2.5    - workflow-job:2.21    - credentials-binding:1.13    - git:3.6.4    - gitlab-hook:1.4.2    - ansicolor:0.5.2 ----------------------------------------- create a free-style project token 是我自

配置Jenkins自动构建打包项目

需求说明 1.给A项目配置jenkins每2小时无条件自动构建一次,无论是否有代码提交.2.给B项目配置jenkins每15分钟检查一次是否有代码提交,如果有,就自动构建一次:如果没有commit,就不构建 配置操作 1 配置每15分钟检查更新,有更新就构建 1.1 创建一个测试项目iot-new-Dev 根据项目实际情况,选择的是pipeline 1.2 配置"构建触发器" 在"构建触发器" ==> 选择"Poll SCM" ==>

Jenkins自动构建

Jenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate c