![Jenkins 2.x实践指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/830/25449830/b_25449830.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3 pipeline语法讲解
3.1 必要的Groovy知识
虽然学习Jenkins pipeline可以不需要任何Groovy知识,但是学习以下Groovy知识,对于我们写pipeline如虎添翼。
• 虽然Groovy同时支持静态类型和动态类型,但是在定义变量时,在Groovy中我们习惯使用def关键字,比如def x="abc"、def y=1。
• 不像Java,Groovy语句最后的分号不是必需的。
• Groovy中的方法调用可以省略括号,比如System.out.println "Hello world"。
• 支持命名参数,比如:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/30_1.jpg?sign=1739676511-Y5UlSZ36MzcAkCQ9z2Xf8YuhrG7ik0VB-0-f23d6a86d850e0ef2281507ea61cd6d8)
• 支持默认参数值,比如:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/30_2.jpg?sign=1739676511-481MSFV74IW63V8M3WGpFHDDhKRNxRSJ-0-8acd7ee3f43bab8769e0879095852adc)
• 支持单引号、双引号。双引号支持插值,单引号不支持。比如:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/31_1.jpg?sign=1739676511-7otuXCSwCB9UDPqZJGFnKWemKaQ0rdUW-0-54c57d7bf88a37be4bb63aaf03be4a52)
• 支持三引号。三引号分为三单引号和三双引号。它们都支持换行,区别在于只有三双引号支持插值。比如:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/31_2.jpg?sign=1739676511-fSBn9BTKYLPgb4JQlGEnEWCkVokGsFBe-0-d07c9d5a8594b7130f45082d68ed6b52)
• 支持闭包。闭包的定义方法如下:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/31_3.jpg?sign=1739676511-6wlyUCEevHK0PaouJOVUal2ctw2pM1bJ-0-afd1b92cc31639f0edc436d712430ed2)
还可以将闭包看作一个参数传递给另一个方法。
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/31_4.jpg?sign=1739676511-ayc4kTxu65MmDCN23A0KVSpO9L4PIRgU-0-41d7b01f8374e4e296c8aedc0f1bf6c6)
• 闭包的另类用法。我们定义一个stage函数:
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/31_5.jpg?sign=1739676511-osSnOSOKMdHrdcSpMWWP793A4Jt5Oh6R-0-5f025fab32e6ea05ea2c662ced5c8e7a)
![](https://epubservercos.yuewen.com/29EDEB/13898202705417506/epubprivate/OEBPS/Images/32_1.jpg?sign=1739676511-PHOqBuHZBHMQjkQrKTADgKtXVbASPE2T-0-e96f0b0854a31191b8330f461b412916)
这些知识点没有连贯性,读者浏览一遍后,大概有个印象就可以。等学习完本章后,再回头看就理解Jenkins pipeline的语法了。