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