软件测试 / 测试开发丨 Jenkins Pipeline 学习笔记
免费领取:测试资料+测试用例+简历模板+测试文档
本文为霍格沃兹测试开发学社学员学习笔记分享
1. Jenkins 节点
1.1 常用的节点
内建节点
SSH 节点
Java Web 节点
1.1.1 SSH 节点配置
远程工作目录节点中必须有该目录,用于下载和运行 jenkins
主机节点的 ip
1.1.2 Java Web 节点配置
全局安全配置代理:勾选 Java 代理协议
1.2 节点管理的缺陷
没有负载监控能力(任务数量做的负载均衡)
高可用能力差
资源利用率
使用 k8s 和 jenkins 集成来解决
1.3 环境变量/工具位置的配置
全局环境变量
节点环境变量:点击配置从节点,进行配置
1.4 父子 job 配置
在子 job 的设置中,构建触发器配置父 job
2. pipeline
2.1 语法 Declarative pipeline
语法树
必须包含在一个 pipeline 块内 pipeline{}
agent:定义 pipeline 执行节点
必须出现的指令
参数 any:可以在任意 agent 上执行 pipelinenone:pipeline 将不分配全局 agent, 每个 stage 分配自己的 agentlabel:指定运行节点的 Labelnode:自定义运行节点配置指定 label 指定 customWorkspacedocker:控制目标节点上的 docker 运行相关内容
stages:定义阶段集
必须出现的指令
包含一个或多个 stage 的序列
每个 Pipeline 代码区间中必须只有一个 stages
stage:定义阶段
必须出现的指令
无参数
包含在 stages 中
Pipeline 完成的所有实际工作都需要包含到 stage 中
需要定义 stage 的名字
steps:定义步骤
必须出现的指令
无参数
具体执行步骤,包含在 stage 代码区间中
post:定义 Pipeline 或 stage 运行结束时的操作
不是必须出现的指令
参数:always:无论 Pipeline 运行的完成状态如何都会运行 changed:只有当前 Pipeline 运行的状态与先前完成的 Pipeline 的状态不同时,才能运行 failure:仅当当前 Pipeline 处于“失败”状态时才运行 success :仅当当前 Pipeline 具有“成功”状态时才运行 unstable:只有当前 Pipeline 具有“不稳定”状态才能运行 aborted:只有当前 Pipeline 处于“中止”状态时才能运行
options:定义 pipeline 的专有属性
不是必须出现的指令
参数:buildDiscarder:保持构建的最大个数 disableConcurrentBuilds:不允许并行执行 pipeline 任务 timeout:pipeline 超时时间 retry:失败后,重试整个 Pipeline 的次数 timestamps:预定义由 Pipeline 生成的所有控制台输出时间 skipStagesAfterUnstable:一旦构建状态进入了“Unstable”状态,就跳过此 stage
environment:定义 Pipeline 或 stage 运行时的环境变量
不是必须出现的指令
无参数
parameters:定义 pipeline 的专有参数列表
不是必须出现的指令
使用 ${变量名} 进行参数化调用
参数:支持数据类型:booleanParam, choice, credentials, file, text, password, run, string 类似参数化构建的选项,结合 environment,可避免首次构建失败
triggers:定义了 Pipeline 自动化触发的方式
不是必须出现的指令
参数:cron:接受一个 cron 风格的字符串来定义 Pipeline 触发的常规间隔 pollSCM:接受一个 cron 风格的字符串来定义 Jenkins 检查 SCM 源更改的常规间隔;如果存在新的更改,则 Pipeline 将被重新触发
script:定义脚本
在 script 块内,可执行 groovy 脚本
2.2 语法 Scripts pipeline
流程控制 if-else
流程控制 try-catch
环境变量定义及引用
环境工具变量的定义设置位置: “Manage Jenkins”-> “Global Tool Configuration”
Script 代码中引用环境变量,调用 java、maven 工具
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/0013119588105bc2a2dcb2c1f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论