热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Devops基础篇之Jenkins的常用的构建触发器和钩子服务(五)

文章目录一、Jenkins内置4种构建触发器:1.触发远程构建2.其他工程构建后触发3.定时构建4.轮询SCM二、Gitlab配置webhook1.开启webhook

文章目录

  • 一、Jenkins内置4种构建触发器:
      • 1.触发远程构建
      • 2.其他工程构建后触发
      • 3.定时构建
      • 4.轮询SCM
  • 二、Gitlab配置webhook
      • 1. 开启webhook功能
      • 2. 在项目添加webhook,添加webhook和Gitlab插件
  • 三、Jenkins的参数化构建
      • 1. 构建配置
      • 2. 项目创建分支,并推送到Gitlab上
      • 3.查看Gitlab上的分支


一、Jenkins内置4种构建触发器:
  • 触发远程构建
  • 其他工程构建后触发(Build after other projects are build)
  • 定时构建(Build periodically)
  • 轮询SCM(Poll SCM)

1.触发远程构建

在这里插入图片描述
在这里插入图片描述
触发构建的网站路径为url:http://192.168.74.8:8888/job/web_demo_pipeline/build?token=8888
格式:

jenkins网址+复制的路径(把TOKEN_NAME改为你输入的验证令牌)

在这里插入图片描述

2.其他工程构建后触发

先创建一个自由构建的项目
在这里插入图片描述
在这里插入图片描述
在回到之前那个项目中配置
在这里插入图片描述

保存后构建配的前置项目
在这里插入图片描述
前置项目构建后,配置的项目也开始构建了

在这里插入图片描述

在这里插入图片描述

3.定时构建

进入项目的配置中点击Build periodically
在这里插入图片描述
一些定时表达式的例子:

每30分钟构建一次:H代表形参 H/30 * * * * 10:02 10:32
每2个小时构建一次: H H/2 * * *
每天的8点,12点,22点,一天构建3次: (多个时间点中间用逗号隔开) 0 8,12,22 * * *
每天中午12点定时构建一次 H 12 * * *
每天下午18点定时构建一次 H 18 * * *
在每个小时的前半个小时内的每10分钟 H(0-29)/10 * * * *
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午
4:38) H H(9-16)/2 * * 1-5

每2分钟开始自动构建
在这里插入图片描述

4.轮询SCM


轮询SCM,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。
他与定时构建唯一不同的在于,只有当代码仓库变动了,才会触发构建,如果不变动,则不会触发,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在等2分钟发现如果代码不发生变化,则不会构建。
在这里插入图片描述

小结:
定时构建和轮询SCM的区别在于,定时构建不会去查看项目中代码的变化,到时间就自动构建,而轮询SCM会根据指定的时间扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建


二、Gitlab配置webhook

1. 开启webhook功能

Gitlab 服务器上使用 root 账户登录到后台,点击Admin Area -> Settings -> Network 勾选"Allow requests to the local network from web hooks and services"

先用root管理员登录Gitlab

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

切换到当前项目下进行设置

在这里插入图片描述
在这里插入图片描述

2. 在项目添加webhook,添加webhook和Gitlab插件

点击项目->Settings->Integrations

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进行测试
在这里插入图片描述

会报错
在这里插入图片描述
回到Jenkins
Manage Jenkins->Configure System
在这里插入图片描述
在这里插入图片描述
回到gitlab上再次test
在这里插入图片描述

idea中更改开发环境代码并进行代码提交
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、Jenkins的参数化构建
  • 有时在项目构建的过程中,我们需要根据用户的输入动态传入一些参数,从而影响整个构建结果,这时我们可以使用参数化构建

  • Jenkins支持非常丰富的参数类型


1. 构建配置

回到web_demo_pipeline项目中取消所有构建触发器选项

在这里插入图片描述
保存成功后会看到下面的效果

在这里插入图片描述
接下来演示通过输入gitlab项目的分支名称来部署不同分支项目。

2. 项目创建分支,并推送到Gitlab上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3.查看Gitlab上的分支

在这里插入图片描述


推荐阅读
author-avatar
mobiledu2502911403
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有