赵走x博客
网站访问量:151858
首页
书籍
软件
工具
古诗词
搜索
登录
34、触发pipeline执行:事件触发
33、触发pipeline执行:时间触发
32、当我们谈质量时,谈的是什么
31、Allure测试报告:更美观的测试报告
30、SonarQube:持续代码质量检查
29、性能测试
28、单元测试
27、静态代码分析
26、利用tools作用域实现多版本编译
25、利用环境变量支持更多的构建工具
24、构建工具
23、环境变量
22、小贴士
21、pipeline内置基础步骤:其他步骤
20、pipeline内置基础步骤:命令相关步骤
19、pipeline内置基础步骤:制品相关步骤
18、pipeline内置基础步骤:文件目录相关步骤
17、在声明式pipeline中使用脚本
16、配置pipeline本身
15、pipeline支持的指令
14、 post部分
13、pipeline的组成
12、必要的Groovy知识
11、使用Maven构建Java应用
10、从版本控制库拉取pipeline
9、创建第一个pipeline
8、pipeline语法的选择
7、Jenkinsfile又是什么
6、pipeline是什么
5、Jenkins与DevOps
4、Jenkins介绍
3、从另一个角度看“提高软件工程生产力”
2、前言
1、内容简介
22、小贴士
资源编号:76396
Jenkins 2.x 实战指南
微服务
热度:79
使用pipeline代码片段生成器学习
# 1、使用pipeline代码片段生成器学习 对于初学Jenkins pipeline的新人来说,如何开始写pipeline是一个坎儿。好在Jenkins提供了一个pipeline代码片段生成器,通过界面操作就可以生成代码。 进入 pipeline 项目后,单击左边的“Pipeline Syntax”菜单项(只有 pipeline 项目有),如图3-6所示。 进入“Pipeline Syntax”页面后,在右边的“Sample Step”下拉框中选择需要生成代码的步骤,并根据提示填入参数,然后单击“Generate Pipeline Script”按钮,就可以生成代码了,如图3-7所示。  图3-6 Pipeline Syntax菜单  图3-7 生成pipeline代码 # 2、使用VS Code扩展校验Jenkinsfile 不像Java语言有各种开发工具支持,Jenkinsfile从诞生以来就没有很好的工具支持,无奈只能使用VS Code文本编辑器+Groovy语法高亮进行开发。对语法的校验全凭自己对Jenkinsfile的熟悉程度。 2018年11月初,Jenkins官方博客介绍了一个VS Code扩展:Jenkins Pipeline Linter Connector,实现了对Jenkinsfile的语法校验。 在VS Code应用市场搜索“Jenkins Pipeline Linter Connector”并安装,然后对该扩展进行设置,如图3-8所示。   图3-8 设置VS Code的Jenkins pipeline扩展 然后,进入Jenkins的Manage Jenkins→Manage Configure Global Security页,确认Jenkins启用了“CSRF Protection”,如图3-9所示。  图3-9 设置Jenkins启用“CSRF Protection” 接下来,打开一个Jenkinsfile文件,调用扩展命令,如图3-10所示。  图3-10 执行校验Jenkinsfile命令 最后,在OUTPUT中可以看到校验结果,如图3-11所示。  图3-11 VS Code显示校验结果 值得注意的是,该扩展只能利用Jenkins API进行语法校验。比如将input步骤写成nput,校验同样通过。 # 3、使用Workspace Cleanup插件清理空间 通常,当pipeline执行完成后,并不会自动清理空间。如果需要(通常需要)清理工作空间,则可以通过Workspace Cleanup插件实现。 (1)安装Workspace Cleanup插件(地址为https://plugins.jenkins.io/ws-cleanup )。 (2)在pipeline的post部分加入插件步骤。  # 4、Ant风格路径表达式简介 Ant是比Maven更老的Java构建工具。Ant发明了一种描述文件路径的表达式,大家都习惯称其为Ant风格路径表达式。Jenkins pipeline的很多步骤的参数也会使用此表达式。 Ant路径表达式包括3种通配符。 * ?:匹配任何单字符。 * *:匹配0个或者任意数量的字符。 * **:匹配0个或者更多的目录。 我们通过以下例子来学习。 * `**/CVS/*`:匹配CVS文件夹下的所有文件,CVS文件夹可以在任何层级。 以下路径会被匹配到:  以下foo/bar/部分不会被匹配到:  * `org/apache/jakarta/**`:匹配org/apache/jakarta路径下的所有文件。 以下路径会被匹配到:  以下路径不会被匹配到:  * `org/apache/**/CVS/*`:匹配org/apache路径下的CVS文件夹下的所有文件。CVS文件夹可以在任何层级。 以下路径会被匹配到:  以下路径不会被匹配到:  * `**/test/**`:匹配所有路径中含有test的路径。 # 本章小结 本章介绍了一些必要的Groovy知识,这些知识对于理解Jenkins pipeline的语法非常有帮助。 Jenkins pipeline由agent、stages、stage、steps这几部分组成,post部分是可选的。指令为pipeline提供了更多的可选项,以满足现实中的更多需求。pipeline本身也可以在pipeline中配置,这样可以进一步避免在界面中手动设置pipeline。在pipeline中写Groovy代码时,需要使用script包装起来。 最后,介绍了我们在实际工作中经常使用的一些步骤,这些步骤不要求读者能清清楚楚地记住,只需要有一个印象,用的时候回来查就好了。