Shell Jenkins管道脚本,用于转义连字符或打印引号
我想从管道脚本执行以下maven命令,但连字符或引号不起作用Shell Jenkins管道脚本,用于转义连字符或打印引号,shell,maven,jenkins,escaping,jenkins-pipeline,Shell,Maven,Jenkins,Escaping,Jenkins Pipeline,我想从管道脚本执行以下maven命令,但连字符或引号不起作用 pipeline { agent { label 'master' } environment { Blah Blah.. } stages { stage('Build') { steps { sh "echo 'Build_Id: ' $BUILD_ID" sh "echo 'Job_Name: ' $JOB_N
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"
与我一样,如果您正在寻找解决方案,请将脚本行更改为:
sh "mvn clean deploy -P buildserver02,!artifactory -DskipTests -pl \\\"AML-BI\\\""
他成功了,现在正在发挥作用。谢谢你的评论
以下是日志中的代码段:
[Pipeline] sh
[Some-Project-Information AML-BI] Running shell script
+ mvn clean deploy -P buildserver02,!artifactory -DskipTests -pl "AML-BI"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building AML-BI
[INFO] ------------------------------------------------------------------------
Downloading: http://somebuildseriver/artifactory/libs-snapshot//0.0.1-SNAPSHOT/maven-metadata.xml
776/776 B
Downloaded: http://somebuildseriver/artifactory/libs-snapshot//0.0.1-SNAPSHOT/maven-metadata.xml (776 B at 3.8 KB/sec)
[INFO]
....
你对maven的召唤重复了很多事情。只需使用
mvn clean deploy..
其他任何使用mvn clean package deploy
的方法都不会运行生命周期的多个部分。AML-BI是该模块的人工制品吗?看看你想要的是什么(如果有疑问,请添加更多转义字符!)@khmarbaise谢谢你告诉我复制的情况,了解了一件事,是的,“AML-BI”是模块的工件,Chearsthank you@bto,将我的脚本更改为sh“mvn clean deploy-P buildserver02,!artifactory-DskipTests-pl\\\\\\”AML-BI\\\”,它现在可以工作了