2017-06-05 92 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