pipeline语法之environment,dir(),deleteDir()方法,readJSON,writeJSON

本文介绍了Jenkins Pipeline中environment指令用于定义环境变量,dir方法用于切换工作目录,deleteDir删除目录,以及readJSON和writeJSON方法用于处理JSON文件。在使用deleteDir后需要注意目录重建的报错问题,并通过cd命令解决。同时,readJSON和writeJSON需要Pipeline Utility Steps插件支持。
摘要由CSDN通过智能技术生成

一 environment指令指定一系列键值对,这些对值将被定义为所有步骤的环境变量或阶段特定步骤

environment{…}, 大括号里面写一些键值对,也就是定义一些变量并赋值,这些变量就是环境变量。环境变量的作用范围,取决你environment{…}所写的位置,你可以写在顶层环境变量,让所有的stage下的step共享这些变量,也可以单独定义在某一个stage下,只能供这个stage去调用变量,其他的stage不能共享这些变量。一般来说,我们基本上上定义全局环境变量,如果是局部环境变量,我们直接用def关键字声明就可以,没必要放environment{…}里面。

//全局
pipeline { agent any environment { unit_test
= true } stages { stage('Example') { steps { script{ if(unit_test == true){ println "变量为真 " } }} } } }

 二 dir ,deleteDir

dir()方法:就是改变当前的工作目录,在dir语句块里执行的其他路径或者相对路径

deleteDir()方法:默认递归删除WORKSPACE下的文件和文件夹,没有参数,使用这个方法会留下一个后遗症:

       执行这个job的时候,你之前已经在这个工作目录下面,你再建一个目录就会报错:mkdir: 无法创建目录"testdata": 没有那个文件或目录,这是个很矛盾的报错

       解决方法:使用cd重新切换到当前目录,再执行mkdir操作

举例如下:

pipeline{
    
    agent any
    stages{
        stage("deleteDir") {
            steps{
                script{
                    println env.WORKSPACE
                    dir("${env.WORKSPACE}/testdata"){   //切换到当前工作目录下的testdata目录
                       sh "pwd"                         //sh命令可以 sh "command..." 也可以 sh("command....")
                    }
                    sh("ls -al ${env.WORKSPACE}")
                    deleteDir()  // clean up current work directory   //清空目录
                    sh("ls -al ${env.WORKSPACE}")
                }
            }
        }
    }
}

执行结果

Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /root/.jenkins/workspace/pipe-example
[Pipeline] {
[Pipeline] stage
[Pipeline] { (deleteDir)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
/root/.jenkins/workspace/pipe-example     #println env.WORKSPACE
[Pipeline] dir Running in /root/.jenkins/workspace/pipe-example/testdata 
[Pipeline] { [Pipeline] sh
+ pwd /root/.jenkins/workspace/pipe-example/testdata [Pipeline] }
[Pipeline]
// dir
[Pipeline] sh
+ ls -al /root/.jenkins/workspace/pipe-example
总用量 4
drwxr-xr-x  4 root root   42 9月   4 11:33 .
drwxr-xr-x 28 root root 4096 9月   4 11:24 ..
drwxr-xr-x  2 root root   22 9月   4 11:2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值