詹金斯不隐藏正在控制台上打印的shell脚本命令

我已经设置了管道脚本,该脚本将使用maven构建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的参数,并且做了set +x,但是它仍然会在控制台中打印命令。

+ java -jar target/github-branch-creator-1.0-snAPSHOT-jar-with-dependencies.jar abc sensitive_password v1 v2 v2

我在#!/bin/bash +x脚本之上尝试了groovy。我仍然发现它正在打印。 如果有人可以帮助您?

tszgcs 回答:詹金斯不隐藏正在控制台上打印的shell脚本命令

如果您不以纯文本形式传递密码,我认为这会更好。

  • 您可以尝试的方式:

    既可以加密密码,然后将参数传递给命令行,则可以在Java代码中使用密码进行写入和解密。

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

本文链接:https://www.f2er.com/3120094.html

大家都在问