Shell Jenkins管道脚本,用于转义连字符或打印引号

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

我想从管道脚本执行以下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"

与我一样,如果您正在寻找解决方案,请将脚本行更改为:

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\\\”,它现在可以工作了