zoukankan      html  css  js  c++  java
  • 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 本地局域网访问

     

  • 相关阅读:
    java验证身份证号码
    java两种定时器
    Nginx负载均衡配置
    python中import list,dictionary常量在class实例化时遇到的坑
    UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 218: illegal multibyte sequence解决方案
    jenkins+gradle打包android遇到的坑
    mac安装神器brew
    mac配置jenkins遇到的问题及解决办法
    django框架搭建web服务
    贯众云平台脚本编写之判断、循环以及shell命令的使用
  • 原文地址:https://www.cnblogs.com/python-diy/p/10182460.html
Copyright © 2011-2022 走看看