前提说明:pipeline里面用到的一些方法实质是插件提供的方法
学习核心:把pipeline的主体框架弄出来并学会排错!
主体框架如下
说明:下面做的实验大多以此为基础,进行扩展!
//自定义变量-->工作目录(明确默认的工作目录是哪里)
String workspace = "/opt/jenkins/workspace"
//Pipeline的起始
pipeline{
agent { node { label "master" //指定具有该标签的节点运行
customWorkspace "${workspace}"
// 指定工作目录(可选)
}
}
options {
//说明:下面的就是插件的一个方法而已
timestamps()
//记录日志的时间
skipDefaultCheckout() //删除隐式checkout-->省得下代码
disableConcurrentBuilds()
//禁止并行
timeout(time: 1, unit: 'HOURS')
//流水线的超时时间
}
// 构建阶段
stages{
//(1)下载代码
//阶段名称
stage("GetCode"){
steps{
// 步骤超时时间
timeout(time:5,unit:"MINUTES"){
//填写运行的代码
script{
println('获取代码')
}
}
}
}
//(2)构建
stage("Build"){
steps{
timeout(time:20,unit:"MINUTES"){
script{
println('应用打包')
}
}
}
}
//(3)代码扫描
stage("CodeScan"){
steps{
timeout(time:30,unit:"MINUTES"){
script{
print("代码扫描")
}
}
}
}
}
//构建后的操作
post{
always {
script{
println("always")
}
}
success {
script{
currentBuild.description += "\n 构建成功"
}
}
failure{
script{
currentBuild.description += "\n 构建失败"
}
}
aborted {
script{
currentBuild.description += "\n 构建取消"
}
}
}
}
报错提示
jenkins视图界面展示 :把各个stage都描述出来了
说明:上述是构建成功的标识!
需求:临时修改Pipeline脚本,仅做测试用,不会覆盖之前的配置
说明:理论上只需要'安装这一个插件'即可
Blue Ocean展示
参数配置多种方式
(1)图形UI配置
"注意1":参数的引用方式,类似于"shell中的变量引用"
"注意2":只针对当前的流水线项目
说明:多了一个Build with Parameters必须点击一下
(2)全局工具中配置,然后也是在pipeline中引用
使用里面的工具
'mvn命令在pipeline中的使用'
(1)环境变量
(2)'sh'
思考:jenkins是否能使用Linux中'声明的环境变量'('有待商榷-->例如Java_HOME')