One*_*lus 2 export path jenkins jenkins-pipeline
如何在Jenkins管道中添加'export'unix命令?我有一个Jenkins'舞台'和'步骤'.export命令的语法是什么.我需要使用export命令设置环境变量'PATH'.
您可以更新$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"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,结果是:
[Pipeline] echo
PATH is: /home/jenkins/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run Code Online (Sandbox Code Playgroud)
这句法是什么意思PATH+JENKINSHOME?引自designhammer.com的博客:
这个:
/my/additional/path:$PATH
Run Code Online (Sandbox Code Playgroud)
表达为:
PATH+ANYSTRING=/my/additional/path.
Run Code Online (Sandbox Code Playgroud)
ANYSTRING只是一个有助于提高可读性的名称.如果它对可读性没有帮助,在您的视图中,您可以省略它.所以这是等价的:
PATH+=/my/additional/path
Run Code Online (Sandbox Code Playgroud)
上面的(withEnv)允许您更新$PATH管道的特定部分.要更新$PATH整个管道,您不能使用PATH+ANYSTRING语法,但这有效:
pipeline {
agent { label 'docker' }
environment {
PATH = "/hot/new/bin:$PATH"
}
stages {
stage ('build') {
steps {
echo "PATH is: $PATH"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
产生输出:
[Pipeline] echo
PATH is: /hot/new/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8437 次 |
| 最近记录: |