18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool相关的知识,希望对你有一定的参考价值。

目录

前言

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的主要内容,如果未能解决你的问题,请参考以下文章

流水线pipeline招式之声明式(前篇)

Jenkins教程——从安装到部署Docker服务声明式流水线HelloWorld

16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令

史上最全 Jenkins Pipeline流水线详解

Jenkins系列-Pipeline语法全集

17-Jenkins-Pipeline-声明式流水线语法-environment/options/parameters指令