JenkinsFile(二)语法简介

说明:下面以声明式的形式进行介绍

(1)agent

说明多个构建节点的情况下,节点标签很重要

pipeline{
        // 随机选择工作节点运行
	agent any {
        customWorkspace "${workspace}"
        //额外的参数
    }
}

//'必须指定该标签'

(2)根据阶段出现的状况所做的策略

补充:post和stages是'并级的(同一级别)',一般一个post对应一个stages

(3)stages

(4)steps

说明:一般'一个阶段运行一个步骤'

备注:里面还可以'运行linux的命令'

(5)环境变量

(6)options可选参数

(7)parameters参数

说明:在pipeline定义流水线参数,'必须执行一遍才有'

'原因':首先让其读取pipeline进行识别,才能执行

补充:在图形配置实现的,全部可以以jenkins的形式来实现!

(8)触发器

(9)tools(注意目前仅仅支持这三种

使用方式如下

script标签'比较特殊':声名式和脚本式语法可以'并存'

 

报错

备注:目前暂时没有搞懂错误的原因

'可能的原因':PATH环境变量,还是'原生的几个路径',我们在Linux环境中的定义的'并没有生效'

在jenkins中认为的默认的PATH,没有找到java二进制程序,就会寻找JAVA_HOME换将变量

# 解决1:在全局工具配置中寻找

# 解决2:软链接


验证

'注意一点':jenkins的pileline中执行'mvn -v'和linux shell环境执行'mvn -v'的区别

(11)input(交互)

备注:下面的用流水线语法生成

注意位置

备注:确定用户传参才可以

(12)when(逻辑判断

说明:写在step里面,只有执行成功,才往下执行,否则跳出

观察:是否会跳过该阶段

(13)parallel

场景:打包(java的war包)和'构建的时间比较长',可以让其作为一个并行的过程!

实质:把两个stage并行起来,启动一个并行的stage,一个stage包含两个stage!

实验:把构建和代码扫描两个阶段结合到一个并行的stage

'含义':failure true  --->'并行的话,第一个失败后面的也失败'
//并行的配置
stage("parallel"){
		failFast true
		parallel {
		  //(2)构建
		  stage("Build"){
			  steps{
				timeout(time:20,unit:"MINUTES"){
					script{
						println('应用打包')
						println("${test}")
					}
				}
			}
		}

		//(3)代码扫描
		  stage("CodeScan"){
			  steps{
				timeout(time:30,unit:"MINUTES"){
					script{
						print("代码扫描")
						mv = tool "maven"
						sh "${mv}/bin/mvn --version"
					}
				}
			}
		}
	}
}	

说明:通过Blue Ocean查看并行效果

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值