синтаксическая ошибка рядом с неожиданным токеном `('в jenkinsfile

Мой jenkinsfile выглядит следующим образом:

    pipeline {
    agent any

    stages {

        stage('Checkout Source') {
            steps {
                echo '====stage 1: SCM Poll Stage===='
                checkout scm
            }
        }

        stage('build') {
            steps {
                sh 'mvn --version'
                sh 'mvn compile -f tools/pom.xml -Dlogin.user=ABC -Dlogin.password=ENC(123+w)'
            }
        }
    }
}

Я получил ошибку около ENC (123 + w)

Ошибка в выводе консоли

/var/lib/jenkins/workspace/firstPipeline_feature_Ticket-1@tmp/durable-2b07c016/script.sh: line 1: syntax error near unexpected token `('

Мне интересно, если мы не можем использовать скобки " () " в командной строке sh . Как мы должны избежать этого специальных символов?

Всего 1 ответ


Вы должны использовать ''' для вызова сценария оболочки и указать параметр в виде строки, поэтому вы должны использовать " . Вот так:

sh ''' mvn compile -f tools/pom.xml -Dlogin.user=ABC "-Dlogin.password=ENC(123+w)" '''