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

1.1 、触发远程构建(Trigger builds remotely)

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

在这里插入图片描述
在构建触发器部分(Build Triggers)选择触发远程构建(Trigger builds remotely (e.g., from scripts)),输入自定义的token ,然后复制给出的URL.
在这里插入图片描述
修改index.jsp 文件,并提交到gitlab(选做,只是为了看结果)
在这里插入图片描述

使用Jenkins的地址+复制的URL+自定义token,触发远程构建
在这里插入图片描述
在项目页面,可以看到自动构建了一个新工程
在这里插入图片描述
访问tomcat的8080端口,可以看到我们修改的首页内容
在这里插入图片描述

1.2、 其他工程构建后触发(Build after other projects are build)

某些环境的构建,相互之间彼此依赖,所以,有些环境必须先安装。对于大型项目而言,会有多个工程需要构建,此时,就可以编排工程的构建顺序,我们可以安排环境工程先构建。
创建一个pre_project的前置工程
在这里插入图片描述
在这里插入图片描述
配置项目web_demo_pipeline, 在前置项目pre_project构建后,自动触发构建
在这里插入图片描述
在这里插入图片描述

修改index.jsp文件,构建前置项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前置工程pre_project构建成功后,会自动触发web_demo_pipeline 的构建

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

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

修改项目配置,选择定时构建
在这里插入图片描述
在这里插入图片描述

1.4、轮询SCM(Poll SCM)

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

Jenkins会定时扫描本地整个项目的代码,增大系统的开销
修改项目的配置,选择轮询SCM
在这里插入图片描述

修改代码,提交gitlab
在这里插入图片描述

扫描到代码仓库变化,自动构建
在这里插入图片描述
在这里插入图片描述

二、gitlab 配置webhook

使用root 账户登录gitlab后台, 点击扳手img
模样的Admin Area —>Settings —>Network—>Outbound requests进入后,再勾选"Allow requests to the local network from web hooks and services"
.

2.1 、gitlab 开启 webhook 功能

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

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

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

在这里插入图片描述
JJenkins 配置项目的构建触发器为Build when a change is pushed to GitLab. 并复制后面的URL.
在这里插入图片描述

2.3 、gitlab 在项目中添加webhook

JProjects–>Explore projects—>选择项目—>Settings—>Integrations

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

2.4 、进行测试

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

在这里插入图片描述

2.5 、webhook报错解决

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

在这里插入图片描述

在这里插入图片描述

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

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

再回到之前的测试页面,再次进行测试
在这里插入图片描述

2.6 、进行webhook 构建

更改开发环境代码,提交
在这里插入图片描述
Jenkins自动构建并发布
在这里插入图片描述
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐