Jenkins设置GitLab push事件发生时自动构建
下面的步骤建立在已经新建好一个item之后,这里主要讲解如何设置Gitlab 上的project 有push事件时,触发Jenkins构建。
设置工作空间
工作空间就是要指定你的项目在哪台机器以及哪个目录下构建。
设置工作节点和自定义工作目录。
其中红线1部分是设置构建的结点(也就是在哪台机器上构建你的项目,可以是本地自己的电脑也可以是远程服务器),这里节点的名称是在系统配置里设置的节点。
红线2部分则是节点机器上的某一个目录路径(也就是将你的项目放置在该目录下)。显示名称则是在Jenkins网页上显示的project名称。配置为空则显示的是新建item时使用的名称。如下图:
源码管理
添加代码远程仓库的地址,以及其他配置。这里选择GIT。
Repository URL里填写代码仓库的地址,Credentials,则是在Jenkins里配置的用于拉取代码的用户。
Branches to build填写要拉取的代码分支,设置了具体的分支名后,同时Jenkins也只会跟踪远程仓库该分支的改动,也就是说只有该分支上的内容有了改变才会触发。具体的触发设置看下文中的构建触发器。
构建触发器
构建触发器的设置经常使用的有三种:定时构建(不管有没有代码有没有变化)、定时轮询构建(定时轮询代码仓库,有改动才会构建)、远程仓库接收到push事件时构建(也就是有人向远程仓库成功的push了代码)。这里主要讲这三种触发方式。
Build periodically(定时的构建)。
此时的定时构建是时间到达日程表所设置的时间后,就开始构建。此时不管前面源码管理处设置的分支是上的内容是否有变化都会开始构建。例如:在日程表的白框里填写H/30 * * * *,表示每隔30分钟构建一次。具体的定时语法写法课点击旁边的蓝色?图标查看。Poll SCM
这个也是定时构建,但不同的是在达到所设置的时间后,系统会去轮询设置的远程仓库是否有变化,有变化才构建。例如:在日程表的白框里填写H/30 * * * *,表示每隔30分钟就检测一下远程仓库是否有变化,有变化就开始构建,没有变化则不构建。当有人成功的向仓库push代码时,触发构建。
选择Build when a change is pushed to GitLab这个选项。打开”高级”按钮,如下图红圈1标识部分:
1)在上图红圈2部分设置需要跟踪变化的分支,根据上面的选项配置,可以是允许全部分支的变化触发构建,也可以设置只是具体的某些分支触发,这里示例是允许master分支上的变化触发构建。
2)要想Gitlab上仓库有push事件发生时触发构建,还需要进一步的设置。在Gitlab上找到要构建的项目,在侧栏找到点击设置图标,找到webhook,点击进入。
3)点击webhook进入的页面如下图所示:
URL部分复制上述步骤“当有人成功的向仓库push代码时,触发构建”中的图片上红圈1部分的http地址;Secret token则填写的是红圈3部分(要先点击generate生成);然后再Tigger中勾选push events,表示当有代码push到该仓库时触发,最后点击末尾Add Webhook保存。
之后在Jenkins的item设置中设置好构建环境、构建步骤、以及构建后操作。当Gitlab上我们添加了webhook的的项目有代码push的时候,便可以自动触发Jenkins的构建。
Jenkins设置GitLab push事件发生时自动构建相关推荐
- [凡文]Docker+Jenkins+Gradle+GitLab在Linux服务端自动化构建Android包
概述 在linux服务器上安装docker和jenkins,项目仓库在搭建的gitlab私服上,然后在windows或者mac上编写项目,最后push代码到gitlab指定分支时,触发jenkins去 ...
- Jenkins钩子实现代码提交/合并时自动部署
之前讲过如何实现jenkins代码部署,但每次提交/合并后都需要点击部署按钮,手动部署较为不便,所以就多加了个钩子,自动触发,但要注意的是,代码最好写完整再一次性push. 超详细教你用Jenkins ...
- dotnet 配置 Gitlab 的 Runner 做 CI 自动构建
今天在少珺小伙伴的协助下,使用了 gitlab 的 runner 给全组的项目做自动的构建.为什么需要使用 Gitlab 的 Runner 做自动构建,原因是之前是用的是 Jenkins 而新建一个底 ...
- 当对项目强名时自动构建失败(TeamFoudationServer试用笔记)
当对项目强名时(带密码保护)自动构建失败 原因为弹出密码输入框的造成自动构建任务不能继续! 临时解决办法为去掉密码保护,目前还没有更好的解决办法. 最近微软的TeamFoundationServer中 ...
- 设置div中文字超出时自动换行和css实现文本超出N行之后显示省略号等
一.对于div强制换行 1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准. #wrap{white-space:normal; w ...
- Jenkins+Jmeter+Gitlab+Ant接口自动化持续集成构建(环境搭建配置)
第一步:环境搭建: 准备工作: Java及jdk配置.jmeter安装配置.Jenkins搭建完成.安装Ant 一.JDK配置 JDK配置请百度自行配置 二.Jmeter安装配置 1.把 apache ...
- 自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化
今天分享服务搭建第二篇:Jenkins+Jmeter+Ant自动化集成(服务) 一.Ant 服务配置 1.配置报告模板和 ant build 确定脚本的目录,当前放在Jmeter 目录下 #cd /u ...
- 怎样开启计算机自动更新功能,电脑微信中的有更新时自动升级微信功能如何设置开启...
电脑微信中的有更新时自动升级微信功能如何设置开启 腾讯视频/爱奇艺/优酷/外卖 充值4折起 今天给大家介绍一下电脑微信中的有更新时自动升级微信功能如何设置开启的具体操作步骤. 1. 打开电脑,找到桌面 ...
- Jenkins构建之常用的触发器和Git Hook自动构建
Jenkins项目构建细节之常用的构建触发器 Jenkins内置4种构建触发器: 触发远程构建 其他工程构建后触发(Build after other projects are build) 定时构建 ...
最新文章
- java 找不到符号变量_java编程找不到符号
- base64编码的学习和理解
- C#反射使用方法过程及步骤
- linux下安装Apache,php,Mysql
- Kinect V2 基础教程之彩色图像
- 印度光伏巨头Adani与华为签署500MW采购合同
- 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你
- asp.net core 在Ubuntu 运行
- Tensorflow入门----占位符、常量和Session
- Windows环境下的安装gcc
- kotlin_Kotlin print(),println(),readLine(),Scanner,REPL
- [总结] LCT学习笔记
- java 转义工具_Java字符转换转义的工具类
- wind river -diab
- google 浏览器下载历史版本的方法
- java-php-python-ssm基于智能选课系统的设计与实现计算机毕业设计
- aar64不支持Pycharm部分版本导致cannot open local terminal的解决方法
- mininet和ryu简单实现自定义topo
- SAP Portfolio Analyzer 中 索提诺比率(Sortino Ratio)
- 微信小程序中页面跳转时要始终返回首页的问题
热门文章
- 设计模式——(四)设计模式原则___依赖倒转原则
- 《密码朋克:自由与互联网的未来》[澳] 朱利安-阿桑奇
- LOJ#3054. 「HNOI 2019」鱼
- 2022年钒电池行业研究报告
- 意外被裁,逆境中意外面过阿里3+1,成功拿下阿里Java岗P6 offer
- n*n数组某位置元素关于主对角线对称点的坐标
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理
- 统计学习的基本概念和分类
- HCIA 的认证证书含金量?
- Python中如何用random模块生成随机数并重现