最新一直在学习 工作 + 学习 去掉 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构子 总结的更多相关文章

  1. 通过gitlab的webhook触发Jenkins自动构建设置

    1.Jenkins job中勾选Build when a change is pushed to GitLab 2.Gitlab project 页面setting选择Integrations,配置w ...

  2. Gitlab源码库里代码提交后,如何触发jenkins自动构建?

    版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...

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

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

  4. 六、配置github的pull request触发jenkins自动构建

    之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般的正常工作中,不会允许程序员直接向主分支推送代码:正常都是fork一个本地的分支,在本地分支调试完后,向主干分支提交 ...

  5. 配置github的pull request触发jenkins自动构建

    参照: https://www.cnblogs.com/zanjiahaoge666/p/6402738.html 之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般 ...

  6. SVN怎么触发Jenkins自动构建

    通常,有几种方式可以在SVN仓库发生改变时触发Jenkins进行构建.第一种是,Jenkins主动轮询SVN仓库:第二种是,在SVN客户端(如TortoiseSVN)创建客户端hooks来触发构建:第 ...

  7. Gitlab使用Webhook实现Push代码后的jenkins自动构建

    本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...

  8. 如何创建一个项目,让gitlab自动触发jenkins进行构建

    前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急 参考这篇博客: https://www.jianshu.com/p/e ...

  9. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

随机推荐

  1. c#活动目录操作

    c#活动目录操作  https://www.cnblogs.com/ahuo/archive/2007/03/16/676853.html 添加引用 System.DirectoryServices导 ...

  2. Spring AOP 中 advice 的四种类型 before after throwing advice around

    spring  AOP(Aspect-oriented programming) 是用于切面编程,简单的来说:AOP相当于一个拦截器,去拦截一些处理,例如:当一个方法执行的时候,Spring 能够拦截 ...

  3. 洛谷 T8088 RQY的舞会

    嗯... 题目链接:https://www.luogu.org/problem/T8088 这道题很好想,我想的是维护两个小根堆(当然可以用数组模拟) 然后从堆顶开始,如果两个元素的差小于1,则cnt ...

  4. nyoj 100

    怒刷水题... AC代码: #include <stdio.h> int main() { int x,t,count; scanf("%d",&t); whi ...

  5. python输出颜色与样式的方法

    一.输出颜色与样式的方法 上次遇到这个问题就想写下来,其实当时我也不怎么会,老师说这个东西不需要理解,只需要死记硬背,写的多了就记住了,所以今天搜集了几篇文章,加上自己的理解,写下了这篇python ...

  6. LeetCode167. Two Sum II - Input array is sorted(双指针)

    题意:对于一个有序数组,输出和为target的两个元素的下标.题目保证仅有唯一解. 分析: 法一:二分.枚举第一个元素,二分找另一个元素,时间复杂度O(nlogn),非最优解. class Solut ...

  7. Zenefits CodeSprint:Knight or Knave

    题意是一堆人,从1到n编号,每个人i说一句话,x.x是正数表示i说x君是个好人,x是负数表示i说x君是坏人.问这个群体中最多能有多少好人,把这种情况用字典序的方式输出(好人用A表示,坏人用B表示),希 ...

  8. 监听EditView中的文本改变事件详解--转

    转自: http://blog.csdn.net/zoeice/article/details/7700529 android中的编辑框EditText也比较常用,那比如在搜索框中,没输入一个字,下面 ...

  9. ie9下浏览器 cosole.log()会阻止j下面的s加载

    ie9下浏览器 cosole.log()会阻止j下面的s加载,删掉多余的console.log().

  10. ch8 固定宽度、流式、弹性布局

    假设浏览器窗口设置为1250px:wrapper的宽度为960px:content的宽度为920px:确保了wrapper居中时两边有20px的间距:  secondary的宽度为230px:  pr ...