2017-06-05 52 views
2

如何在Jenkins管道中添加'export'unix命令? 我有一个Jenkins的'舞台'和'步骤'。导出命令的语法是什么。我需要使用export命令设置环境变量'PATH'。Jenkins管道中的导出命令

回答

5

您可以更新$PATH这样的:

pipeline { 
    agent { label 'docker' } 
    stages { 
    stage ('build') { 
     steps { 

     // JENKINSHOME is just a name to help readability 
     withEnv(['PATH+JENKINSHOME=/home/jenkins/bin']) { 
      echo "PATH is: $PATH" 
     } 
     } 
    } 
    } 
} 

当我运行这样的结果是:

[Pipeline] echo 
PATH is: /home/jenkins/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 

到底是什么这个PATH+JENKINSHOME语法?从blog at designhammer.com报价:

此:

/my/additional/path:$PATH 

表示为:

PATH+ANYSTRING=/my/additional/path. 

ANYSTRING只是帮助可读性的名字。如果它不利于可读性,在您看来,您可以忽略它。因此,这是等价的:

PATH+=/my/additional/path 

以上(withEnv)允许您更新$PATH您管道的一个特定组成部分。要为整个管道更新$PATH,你不能使用PATH+ANYSTRING语法,但这个工程:

pipeline { 
    agent { label 'docker' } 
    environment { 
    PATH = "/hot/new/bin:$PATH" 
    } 
    stages { 
    stage ('build') { 
     steps { 
     echo "PATH is: $PATH" 
     } 
    } 
    } 
} 

生成输出:

[Pipeline] echo 
PATH is: /hot/new/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games