18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool相关的知识,希望对你有一定的参考价值。
目录
前言
- 本篇继续学习新的指令triggers/stage/tool
triggers
- 指令定义了流水线被重新触发的自动化方法,当前可用的触发器是corn,pollSCM和upstream
cron
- 接收 cron 样式的字符串来定义要重新触发流水线的常规间隔 ,比如:
triggerscron('H */4 * * 1-5')
- 相当于UI界面中构建触发器中的 Build periodically
脚本示例
pipeline
agent any
triggers
// 周1到周5每天每隔4小时执行一次
cron('H */4 * * 1-5')
stages
stage('Hello')
steps
echo 'Hello World'
pollSCM
- 接收 cron 样式的字符串来定义一个固定的间隔,在这个间隔中,Jenkins 会检查新的源代码更新。如果存在更改, 流水线就会被重新触发。例如:
triggerspollSCM('H */4 * * 1-5')
- 相当于UI界面中构建触发器中的 Poll SCM
- 只在Jenkins 2.22 及以上版本中可用
脚本示例
pipeline
agent any
// 周一到周五每隔4小时轮询仓库变化,有变化执行,无变化不执行
triggers pollSCM('H */4 * * 1-5')
stages
stage('Hello')
steps
echo 'Hello World'
upstream
- 接受逗号分隔的工作字符串和阈值。 当字符串中的任何作业以最小阈值结束时,流水线被重新触发。例如:
triggersupstream(upstreamProjects: 'job1,job2', threshold: hudson.model.Result.SUCCESS)
- 相当于UI界面中构建触发器中的Build after other projects are built
stage
- 该stage指令在该stages部分中,应包含步骤部分,可选agent部分或其他特定于阶段的指令。实际上,Pipeline完成的所有实际工作都将包含在一个或多个stage指令中。
脚本示例
pipeline
agent any
stages
// 里面的值必填,用来描述步骤的用途
stage('Example')
steps
echo 'Hello World'
tool
- 定义自动安装和放置
PATH
的工具的一部分。如果agent none
指定,则忽略该操作。 - 只支持定义Maven、jdk、 gradle三种工具的环境变量
- 需要在Global Tool Configuration中配置后才可使用,如下图
脚本示例
pipeline
agent any
tools
jdk 'jdk1.8'
stages
stage('Example')
// windwows 使用bat; Linux 使用sh
steps
bat 'java -version'
以上是关于18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins教程——从安装到部署Docker服务声明式流水线HelloWorld
16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令
17-Jenkins-Pipeline-声明式流水线语法-environment/options/parameters指令