【发布时间】:2018-07-18 15:01:34
【问题描述】:
我想从管道脚本执行以下 maven 命令,但连字符或引号不起作用
pipeline {
agent {
label 'master'
}
environment {
Blah
Blah..
}
stages {
stage('Build') {
steps {
sh "echo 'Build_Id: ' $BUILD_ID"
sh "echo 'Job_Name: ' $JOB_NAME"
sh "echo 'Build_Name: ' $BUILD_NAME"
sh "echo 'Current Branch Name: ' $BRANCH"
sh 'mvn clean package deploy -DskipTests -pl "AML-BI"'
}
}
}
}
post {
success {
}
failure {
}
always{
}
}
}
我尝试了单引号、双引号、反斜杠转义和连接,但没有任何效果
[Pipeline] sh
[Business-Information-UK AML-BI] Running shell script
+ mvn clean package deploy -P buildserver02,!artifactory -DskipTests -pl AML-BI
[INFO] Scanning for projects...
[ERROR] [ERROR] Could not find the selected project in the reactor: AML-BI @
[ERROR] Could not find the selected project in the reactor: AML-BI -> [Help 1]
[ERROR]
项目中有一个模块“AML-BI”,我希望脚本被执行为
mvn clean package deploy -P buildserver02,!artifactory -DskipTests -pl "AML-BI"
【问题讨论】:
-
您对 maven 的调用重复了很多事情。只需使用
mvn clean deploy ..没有其他使用mvn clean package deploy将运行生命周期的几个部分重复...AML-BI是模块的 artifactId 吗? -
查看stackoverflow.com/a/50974018/4121744 是否是您所追求的(如果有疑问,请添加更多转义字符!)
-
@khmarbaise,谢谢你告诉我重复,学到了一个东西,是的,“AML-BI”是模块的 artifactId,干杯
-
谢谢@bto,将我的脚本更改为 sh "mvn clean deploy -P buildserver02,!artifactory -DskipTests -pl \\"AML-BI\\"" 现在可以正常工作了跨度>
标签: shell maven jenkins escaping jenkins-pipeline