解决Jenkinsfile执行sh 报Warning: JENKINS-41339 probably bogus
执行以下pipeline时,报错!
Warning: JENKINS-41339 probably bogus PATH=$PATH:/usr/share/maven/bin:/usr/share/maven/bin; perhaps you meant to use ‘PATH+EXTRA=/something/bin’?
pipeline {
agent any
stages {
stage('Hello') {
steps {
sh "echo OK"
sh '''
pwd
'''
sh 'echo "hello"'
sh "echo 'OK'"
}
}
}
}
解决方式一:
采用environment {
PATH = "PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin"
}方式
pipeline {
agent any
environment {
PATH = "PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin"
}
stages {
stage('Hello') {
steps {
sh "echo OK"
sh '''
pwd
'''
sh 'echo "hello"'
sh "echo 'OK'"
}
}
}
}
解决方式二:
采用:withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin']) {
}方式配置
pipeline {
agent any
stages {
stage('Hello') {
steps {
withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin']) {
sh "echo hello"
}
}
}
}
}
解决方式三:
通过转到Manage Jenkins-> Configure System并删除PATH全局属性。
去掉全局环境配置,但会造成其他问题;
一些自由风格的环境会因此破坏。



[推荐]解决方法四:
通过转到Manage Jenkins-> Configure System并配置PATH全局属性。
环境变量配置:
键:M2_HOME 值:/usr/local/maven
键:NODE_HOME 值:/usr/local/node
键:... 值:...
键:PATH+EXTRA 值:$PATH:$M2_HOME/bin:$NODE_HOME/bin
PS:关键配置,环境键变量变为:PATH+EXTRA 而不是PATH
最终配置如下图:
完成以上配置后: java -version、mvn -v、node -v都将可用;
而且自由风格的项目也不会受影响。
#!/usr/bin/env groovy
pipeline {
agent any
stages {
stage('Example') {
steps {
echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
sh '''
java -version
mvn -v
node -v
'''
}
}
stage('拉取代码') {
steps {
echo "拉取代码..."
}
}
stage('发布') {
parallel {
stage('中文环境') {
steps{
//sh "sleep 60s"
echo "starting Deploy Chinese_Server......"
}
}
stage('英文环境') {
steps{
//sh "sleep 60s"
echo "starting Deploy English_Server......"
}
}
}
}
}
post {
always {
echo "starting junit......"
}
}
}
本文来自博客园,作者:刘文江,转载请注明原文链接:https://www.cnblogs.com/liuwenjiang/p/18907292

浙公网安备 33010602011771号