jenkins 构建细节

  • 一、常用的构建触发器
  • 1、触发远程构建
  • 2、其他工程构建后触发
  • 3、周期进行构建
  • 4、轮询 SCM
  • 5、Git Hook 钩子函数触发
  • ①、jenkins 配置
  • ②、Gitlab 配置
  • ③、Gitlab 开启 webhook 功能



一、常用的构建触发器

jenkins pipeline打印变量 jenkins pipeline build job_字符串

  • Build afer other projects are built:在其他项目生成后 再进行构建
  • Build periodically:周期进行构建
  • GitLab webhook URL: http://192.168.168.13:8888/project/web_demo_pipeline:Gitlab 钩子函数构建
  • Poll SCM:轮询 SCM
  • 触发远程构建:使用 token 令牌,进行远程构建


1、触发远程构建

准备一个身份验证令牌,实验环境可以自己随意指定。

通过此参数 JENKINS_URL/job/web_demo_pipeline/build?token=TOKEN_NAME,在http浏览器远程访问,访问之后,即可通过指定的 token=TOKEN_NAME,触发构建。进行部署。

jenkins pipeline打印变量 jenkins pipeline build job_触发器_02

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_03

通过浏览器访问之后,输入 jenkins 用户名密码,可以执行远程构建此项目

jenkins pipeline打印变量 jenkins pipeline build job_字符串_04


2、其他工程构建后触发

在执行此工程前,需要先完成一个工程才能执行。

jenkins pipeline打印变量 jenkins pipeline build job_jenkins_05

pre_job。即为上一个需要触发的工程。随便编写一个工程,能执行成功即可。

jenkins pipeline打印变量 jenkins pipeline build job_jenkins_06

当 pre_Job 成功执行后。pipeline 流水线工程就会被触发构建。

jenkins pipeline打印变量 jenkins pipeline build job_jenkins_07


3、周期进行构建

定时字符串从左往右分别为:分、时、日、月、周

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_08

定时表达式的例子:

H 代表当前时间点:
假如现在是 10:21 分, 那么 H 23 = 23:21分

假如现在是 10:21 分,那么 H H/2 = 每隔两个小时的:21分(10:21 - 12:21 - 2:21)

假如现在是 10:21 分,那么 H/30 = 当前时间,往后延30分钟 (10:21 - 10:51 - 11:21 - 11:51)

每隔 30分钟 构建一次:
H/30 * * * * #10:15 10:45 11:15
每隔 2 个小时构建一次:
H H/2 * * * # 8:00 10:00 12:00
——————————
每天的 23点 定时构建一次
0 23 * * * # 23:00
每天的 8点,12点,24点 定时构建一次
0 8,12,24 * * * # 8:00 12:00 24:00

jenkins pipeline打印变量 jenkins pipeline build job_字符串_09


4、轮询 SCM

轮询 SCM,定时扫描 代码仓库中的 代码是否出现变化,如果存在变化则进行构建。

时间格式 与 周期定时构建相同。

每隔1个小时扫描一次

H H/1 * * *

注意:这种构建触发器,jenkins会定时扫描本地整个项目的代码,过于消耗资源,生产环境不建议使用。


5、Git Hook 钩子函数触发

一旦 Gitlab 代码发生变化,就会触发钩子函数(webhook),让 jenkins 自动触发构建。

jenkins pipeline打印变量 jenkins pipeline build job_触发器_10

①、jenkins 配置

jenkins pipeline打印变量 jenkins pipeline build job_jenkins_11

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_12

②、Gitlab 配置

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_13


jenkins pipeline打印变量 jenkins pipeline build job_触发器_14

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_15


jenkins pipeline打印变量 jenkins pipeline build job_触发器_16


jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_17

③、Gitlab 开启 webhook 功能

jenkins pipeline打印变量 jenkins pipeline build job_jenkins_18


jenkins pipeline打印变量 jenkins pipeline build job_字符串_19

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_20

点击测试,完成后回到jenkins页面,会发现一个控制台输出

jenkins pipeline打印变量 jenkins pipeline build job_钩子函数_21