东莞市官网网站建设哪家好,网站架设方式,网站左侧导航代码,做网站延期交付了目录 一、pipeline
二、创建pipeline项目
1、安装pipeline插件
2、创建pipeline项目
三、pipeline语法
1、pipeline组成
2、agent#xff1a;指定流水线的执行位置#xff0c;流水线中每个阶段都必须在某个地方执行
3、stage#xff1a;阶段#xff0c;代表流水线的…目录 一、pipeline
二、创建pipeline项目
1、安装pipeline插件
2、创建pipeline项目
三、pipeline语法
1、pipeline组成
2、agent指定流水线的执行位置流水线中每个阶段都必须在某个地方执行
3、stage阶段代表流水线的阶段每个阶段都必须要有名称且各个名称不能重名
4、stagesstage的集合stages部分至少包含一个stage
5、steps代表stage阶段中的一个或者多个步骤steps部分至少包含一个步骤
2、pipeline其他指令
1、post包含的是在整个pipeline或stage完成后的附加步骤
2、environment用于设置环境变量可定义在stage或pipeline部分环境变量可以设置为全局的也可以设置为阶段级别stage的
3、tools可定义在pipeline或stage部分配置我们指定的工具并将其加入到PATH变量中工具名称必须在Jenkins的全局工具配置中存在
4、options用于配置Jenkins pipeline本身的选项options指令可以定义在stage或pipeline部分
5、parameters在构建前定义参数化构建支持booleanParam, choice, credentials, fifile, text,password, string等参数类型
6、triggers定义执行pipeline的触发器 一、pipeline
用户可以在一个 Jenkinsfile 中快速实现一个项目的从构建、测试以及到发布的完整流程灵活方便地实现持续交付并且可以保存和管理这个Jenkinsfile的定义。
从Jenkins V2.0版本开始Pipeline是Jenkins2.X的最核心的特性帮助Jenkins实现从CI到CD与DevOps的转变。
【自由风格任务】对比【流水线】
Freestyle Jobs Pipeline通过UI页面配置通过代码配置groovy开发的基于java的脚本语言配置变化不能追溯可以通过SCM代码版本管理追溯迁移需要重新创建任务方便任务配置迁移每个任务对应每个阶段(构建、测试、发布)单个任务中完成所有阶段的编排 二、创建pipeline项目
1、安装pipeline插件
2、创建pipeline项目 三、pipeline语法
Jenkins Pipeline通常会写入到一个文本文件中称为Jenkinsfile该文件可以通过SCM代码版本管理系统管理比如从Git上拉取脚本 脚本式Scripted Pipeline—— 比如一些if判断等逻辑脚本式里面不能包含声明式 声明式Declarative Pipeline—— 一般用这个比较多官方也比较推荐声明式里面可以包含脚本式更简单更加结构化的语法官网推荐使用
1、pipeline组成
基本结构以下每一部分都是必须的少一个Jenkins都会报错
pipeline {agent any //表示在哪个节点运行任意stages {stage(Hello) { //名字各不相同steps {echo Hello World //具体要做的事情}}stage(Hello1) {steps {echo Hello World1}}}
}
1、pipeline代表整条流水线包含整条流水线的逻辑
2、agent指定流水线的执行位置流水线中每个阶段都必须在某个地方执行 none 当在pipeline块的顶层使用none时将不会为整个Pipeline运行分配全局agent 每个stage部分将需要包含其自己的agent部分 any 在任何可用的agent 上执行Pipeline或stage label 指定具体的 Jenkins Slave Node也可以单独指定Stage的执行环境
3、stage阶段代表流水线的阶段每个阶段都必须要有名称且各个名称不能重名
4、stagesstage的集合stages部分至少包含一个stage
5、steps代表stage阶段中的一个或者多个步骤steps部分至少包含一个步骤 2、pipeline其他指令 1、post包含的是在整个pipeline或stage完成后的附加步骤 always无论pipeiline运行的完成状态如何都会执行这段代码 changes只有当前pipeline运行的完成状态与先前完成的pipeline的状态不同时才会执行 failure当前完成状态为失败时执行 success当前完成状态为成功时执行 unstable当前完成状态为不稳定时执行测试失败/代码违规问题 aborted当流水线被手动终止时
post{always { echo will always execute }
}
2、environment用于设置环境变量可定义在stage或pipeline部分环境变量可以设置为全局的也可以设置为阶段级别stage的
environment { aaa bbb }//定义环境变量 ${env.JOB_NAME} //访问Jenkins内置变量 ${env.aaa} //访问自定义变量
3、tools可定义在pipeline或stage部分配置我们指定的工具并将其加入到PATH变量中工具名称必须在Jenkins的全局工具配置中存在
tools { maven maven3.6.1}
4、options用于配置Jenkins pipeline本身的选项options指令可以定义在stage或pipeline部分
options{ buildDiscarder(logRotator(numToKeepStr:3)) //保存最近历史构建记录的数量 timeout(time:1,unit:HOURS)//job执行的超时时间 disableConcurrentBuilds()//禁止job同时执行 retry(3)//失败重试次数 }
5、parameters在构建前定义参数化构建支持booleanParam, choice, credentials, fifile, text,password, string等参数类型
parameters{ choice(name:environ,choices:test\ndev\nstg, description:请选择测试环境 dev? test? stg?)string(name:version,defaultValue:0.0.0,description:当前构建版本号)
}${params.environ}//通过 params访问对应参数
6、triggers定义执行pipeline的触发器
triggers { cron(0 19 * * 1-5) pollSCM(0 */2 * * 1-5)
}