Jenkins 项目构建之 常用的构建触发器 与gitlab 配置webhook

Jenkins 项目构建之 常用的构建触发器 与gitlab 配置webhook

一:Jenkins 项目构建常用的构建触发器

1.1 触发远程构建

Trigger builds remotely .

通过URL加上相关指令,实现构建。优点在于我们可以使用命令或者代码去执行,去触发构建.

进入项目的配置页面

image-20220214204500640

在构建触发器部分(Build Triggers)选择触发远程构建(Trigger builds remotely (e.g., from scripts))

输入自定义的token ,然后复制给出的URL

image-20220214204834889

修改index.jsp 文件,并提交到gitlab(选做,只是为了看结果)

image-20220214205951125

使用Jenkins的地址+复制的URL+自定义token,触发远程构建

image-20220214210321010

在项目页面,可以看到自动构建了一个新工程

image-20220214210644706

访问tomcat的8080端口,可以看到我们修改的首页内容

image-20220214210529410

1.2 其他工程构建后触发

Build after other projects are build

某些环境的构建,相互之间彼此依赖,所以,有些环境必须先安装。对于大型项目而言,会有多个工程需要构建,此时,就可以编排工程的构建顺序,我们可以安排环境工程先构建。

创建一个pre_project的前置工程

image-20220214211239612

image-20220214211318864

配置项目web_demo_pipeline, 在前置项目pre_project构建后,自动触发构建

image-20220214211442490

image-20220214211552918

修改index.jsp文件,构建前置项目

image-20220214211756375

image-20220214212516067

image-20220214212200282

image-20220214212322983

前置工程pre_project构建成功后,会自动触发web_demo_pipeline 的构建

image-20220214212419686

image-20220214212744594

image-20220214212444949

1.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

修改项目配置,选择定时构建

image-20220214213101317

image-20220214213624257

1.4轮询SCM

Poll SCM

轮询SCM,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。

Jenkins会定时扫描本地整个项目的代码,增大系统的开销

修改项目的配置,选择轮询SCM

image-20220214214143531

修改代码,提交gitlab

image-20220214213841446

扫描到代码仓库变化,自动构建

image-20220214214541765

image-20220214214608057

二: gitlab 配置webhook 钩子服务

2.1 gitlab 开启 webhook 功能

使用root 账户登录gitlab后台, 点击扳手img模样的Admin Area --->Settings --->Network--->Outbound requests

进入后,再勾选"Allow requests to the local network from web hooks and services"

image-20220214222312808

image-20220214222342135

image-20220214222507654

image-20220214222650237

2.2 jenkins 下载插件,配置构建触发器

Jenkins在下载插件页面,搜索 gitlab,下载 GitLab 和 Generic Webhook Trigger Plugin 插件

image-20220214222841016

Jenkins 配置项目的构建触发器为Build when a change is pushed to GitLab. 并复制后面的URL

image-20220214223326991

2.3 gitlab 在项目中添加webhook

Projects-->Explore projects--->选择项目--->Settings--->Integrations

image-20220214223949282

image-20220214224013797

image-20220214224402782

2.4 进行测试

当前添加webhook页面--->点击Test--->Push evects

image-20220214224640202

2.5 webhook报错解决

如果报错 Hook executed successfully but returned HTTP 403 . 则 webhook服务成功,但是因为权限不够,没有Jenkins的访问权限

image-20220214224900258

在Jenkins页面,Manage Jenkins --> Confifure System--->

image-20220214231821797

去除 Enable authentication for '/project' end-point 的勾选,不用认证,再将下方的Gitlab connections 删除

image-20220214231913466

image-20220214231928168

再回到之前的测试页面,再次进行测试

image-20220214232333077

2.6 进行webhook 构建

更改开发环境代码,提交

image-20220214232447247

Jenkins自动构建并发布

image-20220214232957251

image-20220214233006213

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值