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

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

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

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

//全局
pipeline {agent anyenvironment {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 anystages{stage("deleteDir") {steps{script{println env.WORKSPACEdir("${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 1


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部