如何在詹金斯管道中转义密码

时间:2020-09-09 07:56:44

标签: jenkins groovy jenkins-pipeline special-characters

在我的管道脚本中,我想执行以下sh命令,包括带有特殊字符的密码(例如123 $ ABC):

withCredentials([sshUserPrivateKey(credentialsId: 'id', keyFileVariable: 'keyFile', passphraseVariable: '', usernameVariable: 'user')]) {

  sh "ssh -i $keyFile ${user}@${virtualMachine} -C \"CONTAINER_NAME=${dockerContainerName} DOCKER_TAG=${dockerImageTag} JASYPT_MASTER_PASSWORD='${JASYPT_MASTER_PW}' docker-compose -f /tmp/docker-compose-jenkins.yml up\""

}

该命令如何看起来像要获取密码中的特殊字符?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,可能的解决方案是对password变量进行解码,例如:

def encodedPassword = URLEncoder.encode("$JASYPT_MASTER_PW",'UTF-8')

,然后使用 encodedPassword 变量代替 JASYPT_MASTER_PW

让我们尝试