jenkins 构建细节
- 一、常用的构建触发器
- 1、触发远程构建
- 2、其他工程构建后触发
- 3、周期进行构建
- 4、轮询 SCM
- 5、Git Hook 钩子函数触发
- ①、jenkins 配置
- ②、Gitlab 配置
- ③、Gitlab 开启 webhook 功能
一、常用的构建触发器
- 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 用户名密码,可以执行远程构建此项目
2、其他工程构建后触发
在执行此工程前,需要先完成一个工程才能执行。
pre_job。即为上一个需要触发的工程。随便编写一个工程,能执行成功即可。
当 pre_Job 成功执行后。pipeline 流水线工程就会被触发构建。
3、周期进行构建
定时字符串从左往右分别为:分、时、日、月、周
定时表达式的例子:
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
4、轮询 SCM
轮询 SCM,定时扫描 代码仓库中的 代码是否出现变化,如果存在变化则进行构建。
时间格式 与 周期定时构建相同。
每隔1个小时扫描一次
H H/1 * * *
注意:这种构建触发器,jenkins会定时扫描本地整个项目的代码,过于消耗资源,生产环境不建议使用。
5、Git Hook 钩子函数触发
一旦 Gitlab 代码发生变化,就会触发钩子函数(webhook),让 jenkins 自动触发构建。
①、jenkins 配置
②、Gitlab 配置
③、Gitlab 开启 webhook 功能
点击测试,完成后回到jenkins页面,会发现一个控制台输出