2
如何在Jenkins管道中添加'export'unix命令? 我有一个Jenkins的'舞台'和'步骤'。导出命令的语法是什么。我需要使用export命令设置环境变量'PATH'。Jenkins管道中的导出命令
如何在Jenkins管道中添加'export'unix命令? 我有一个Jenkins的'舞台'和'步骤'。导出命令的语法是什么。我需要使用export命令设置环境变量'PATH'。Jenkins管道中的导出命令
您可以更新$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