我已经设置了管道脚本,该脚本将使用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
。我仍然发现它正在打印。
如果有人可以帮助您?
答案 0 :(得分:0)
如果您不以纯文本形式传递密码,我认为这会更好。
您可以尝试的方式:
既可以加密密码,然后将参数传递给命令行,则可以在Java代码中使用密码进行写入和解密。
在文件中写入命令,然后执行文件。