詹金斯·唐';t隐藏正在控制台上打印的shell脚本命令

詹金斯·唐';t隐藏正在控制台上打印的shell脚本命令,shell,jenkins,jenkins-pipeline,sh,jenkins-groovy,Shell,Jenkins,Jenkins Pipeline,Sh,Jenkins Groovy,我已经设置了一个管道脚本,它将使用maven构建一个JAR,参数来自JAR的Jenkins。其中之一是密码 stages { stage('Maven Build') { steps { script { echo "Maven Build" withMaven(jdk: javaVersion, maven: mavenVersion) { s

我已经设置了一个管道脚本,它将使用maven构建一个JAR,参数来自JAR的Jenkins。其中之一是密码

stages {
    stage('Maven Build') {
        steps {
            script {
                echo "Maven Build"
                withMaven(jdk: javaVersion, maven: mavenVersion) {
                    sh 'mvn clean install'
                }
            }
        }
    }
    stage('Branch Creation') {
        steps {
            script {
            sh """
            set +x 
            "java -jar target/github-branch-creator-1.0-SNAPSHOT-jar-with-dependencies.jar ${params.Username} ${params.Password} ${params.value1} ${params.value2} ${params.value3}"
            """
            }
        }
    }
} 
我确实提到了
三重双引号以接受来自jenkins的参数,并且确实提到了
设置+x
,但它仍然会在控制台中打印命令

+
java-jar-target/github-branch-creator-1.0-SNAPSHOT-jar-with-dependencies.jar abc-sensitive_密码v1 v2

我在我的
groovy
脚本上尝试了
#!/bin/bash+x
。我仍然发现它正在打印。
如果有人能帮忙的话?

我想最好不要用明文传递密码

  • 您可以尝试的方法:

    要么加密密码,然后将参数传递给命令行,您可以在java代码中使用密码进行写解密

    在文件中写入命令,然后执行该文件