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 本地局域网访问
gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结的更多相关文章
- 通过gitlab的webhook触发Jenkins自动构建设置
1.Jenkins job中勾选Build when a change is pushed to GitLab 2.Gitlab project 页面setting选择Integrations,配置w ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- 实战:向GitHub提交代码时触发Jenkins自动构建
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...
- 六、配置github的pull request触发jenkins自动构建
之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般的正常工作中,不会允许程序员直接向主分支推送代码:正常都是fork一个本地的分支,在本地分支调试完后,向主干分支提交 ...
- 配置github的pull request触发jenkins自动构建
参照: https://www.cnblogs.com/zanjiahaoge666/p/6402738.html 之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般 ...
- SVN怎么触发Jenkins自动构建
通常,有几种方式可以在SVN仓库发生改变时触发Jenkins进行构建.第一种是,Jenkins主动轮询SVN仓库:第二种是,在SVN客户端(如TortoiseSVN)创建客户端hooks来触发构建:第 ...
- Gitlab使用Webhook实现Push代码后的jenkins自动构建
本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...
- 如何创建一个项目,让gitlab自动触发jenkins进行构建
前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急 参考这篇博客: https://www.jianshu.com/p/e ...
- 使用Docker+Jenkins自动构建部署
环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...
随机推荐
- 中国社交电商最新展望,S-KOL-C正突围而出
编辑 | 韩星 出品 | 于见(mpyujian) 通信技术.移动互联网的快速发展正加速国内电商平台的深度变革. 在这场以"社交"和"下沉市场"为关键词的电商之 ...
- [总结]一些 DP 优化方法
目录 注意本文未完结 写在前面 矩阵快速幂优化 前缀和优化 two-pointer 优化 决策单调性对一类 1D/1D DP 的优化 \(w(i,j)\) 只含 \(i\) 和 \(j\) 的项--单 ...
- centos610安装postgresql
1.安装仓储 安装仓库依赖: yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-r ...
- Dire Wolf HDU - 5115
题目链接 一开始很自然的想到了贪心,跑了一下贪心,发现无法处理某一段已经被选走的情况,根据数据范围,区间dp比较适合,能储存区间取样信息 设dp[i][j]为已经杀死区间[i,j]的最小值,可以得到转 ...
- 「CTSC2008」网络管理
「CTSC2008」网络管理 传送门 整体二分做法,应该和这题一样的吧. 就是把序列换成树,第 \(k\) 小换成第 \(k\) 大. 然后就切了... 参考代码: #include <algo ...
- ThinkPHP6源码分析之应用初始化
ThinkPHP6 源码分析之应用初始化 官方群点击此处. App Construct 先来看看在 __construct 中做了什么,基本任何框架都会在这里做一些基本的操作,也就是从这里开始延伸出去 ...
- Write-Up-wakanda-1
关于 下载地址:点我 哔哩哔哩:哔哩哔哩 祖传开头 信息收集 这里用vm虚拟机可能有一点问题,因为官方的是用vbox虚拟机导出的镜像文件.所以这次使用vbox虚拟机. ➜ ~ ip a show de ...
- 4.ORM框架的查询
创建表对应关系代码如下: from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy app=Fl ...
- MIT宣布人工智能独立设系!
导读 MIT宣布人工智能独立设系!AI与电子工程.计算机科学系将三分天下? MIT 电子工程和计算机科学系(EECS)拆分啦.拆分后分为 3 个学科群(faculty),或者说 3 个系:电子工程(E ...
- Linux命令:sed命令
sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏 ...