pipeline脚本练习

pipeline{
	//在代理上执行该pipeline
	agent{
		label '云端代理主机号'
    }
	}
	parameters{
	string(name:'',defauleValue:'',descriple:'')
	}
	//环境变量
	tools{
		maven 'mvn3.6'
		jdk   'jdk1.8_master'
	}
	//常量参数
	environment{
	}
	
    options {
        //保持构建的最大个数
        buildDiscarder(logRotator(numToKeepStr: '10')) 
    }
	
    //定期检查开发代码更新,工作日每晚4点做daily build
    triggers {
        pollSCM('H 4 * * 1-5')
    }	
	
	//pipeline的各个阶段场景
	stages{
		stage('镜像拉取'){
			steps{
				echo"~~~~~~~"
				script{
					sh'''
					
					'''
				}
			}
		}
	}
	//在整个pipeline或阶段完成后一些附加的步骤,post步骤可选。
	//通畅用于异常处理,若上个阶段执行失败,则做某些操作。
	//例如上个阶段清理依赖包,判断清理失败后,就发送邮件进行报警并退出
	
	post{
	    always{
	       	script{
	        }
	    }
	}
}
always:不论当前完成状态是什么,都执行
changed:只要当前完成状态与上一次完成状态不同就执行
fixed:上一次完成状态为失败或不稳定(unstable),当前完成状态为成功时执行
regression:上一次完成状态为成功,当前完成状态为失败、不稳定或中止(aborted)时执行
aborted:当前执行结果是中止状态时(一般为人为中止)执行
failure:当前完成状态为失败时执行
success:当前完成状态为成功时执行
unstable:当前完成状态为不稳定时执行
cleanup:清理条件块。不论当前完成状态是什么,在其他所有条件块执行完成后都执行。post部分可以同时包含多种条件块。以下是post部分的完整示例

注意:
post步骤在阶段中,为steps后面抒写
post步骤的每个判断,都会匹配,而非第一个匹配了,其它就跳过了

triggers
解释一:
triggers指令定义了Pipeline自动化触发的方式。对于与源代码集成的Pipeline,如GitHub或BitBucket,triggers可能不需要基于webhook的集成也已经存在。目前只有两个可用的触发器:cron和pollSCM。
解释二:
定时器:顾名思义,这部分是设定定时启动的,pollSCM表示的是定时检查代码库的变化,如果有变化触发该job的构建;而cron则表示定时触发该job的构建,里面的规则如下:

MINUTE 一小时内多少分钟(0-59)

HOUR 一天内多少小时(0-23小时)

DOM 一个月内多少天(1-31)

MONTH 每月(1-12)

DOW 星期几(0-7),其中07都表示周日。

优先顺序如下:

'*' 可用来指定所有有效的值。

'M-N' 可以用来指定一个范围,比如“1-5'M-N/X''*/X' 可用于在指定范围内跳跃一个X的值,比如在MINUTE字段中"*/15"表示"0,15,30,45""1-6/2"表示"1,3,5"'A,B,...,Z' 可以用来指定多个值,比如“0,30”或“1,3,5”。

任何空白行和'#'开始的行都将表示为注释而不予理睬。

此外,''@yearly', '@annually', '@monthly', '@weekly', '@daily', '@midnight', '@hourly'都是支持的

例子

* * * * * 每分钟

5 * * * * 每一小时后第5分钟

H/15 * * * *15分钟

H(0-29)/10 * * * * 每小时的029分钟每15分钟

H 2-19/2 * * 1-5 每周1到周五(工作日)2点到19点每2小时执行

H H 1,15 1-11 * 1111号和15号各执行一次```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值