假设我们有一个 jenkins 管道,在某个时刻我们执行 Maven 参数化构建:
sh "mvn clean install -DparameterType=${parameter}"
如果参数值包含空格怎么办?例如,该值为“测试参数”。
在 IDE 上运行时,这当然有效:
mvn clean install -DparameterType="test param"
但是如果我们在管道内做类似的事情,比如
sh "mvn clean install -DparameterType=\"${parameter}\""
或
sh "mvn clean install -DparameterType=""${parameter}""
它没有,并且参数像这样传递
-DparameterType=test param
这对 Maven 来说不好。请问有什么想法吗?
您可以尝试使用:
sh """
mvn clean install -DparameterType=\"${parameter}\"
"""
管道的下面部分定义了一些带有空格键的字符串:
environment {
_CONFIG = "Your Rules"
}
stages {
stage('Static analysis') {
steps {
bat "\"${_CONFIG}\""
}
}
}