[英]Jenkins : withCredentials does not mask passwords in Groovy Script
[英]Jenkins mask passwords use in “Execute system Groovy script”
我試圖使用“系統Groovy腳本”通過jenkins將應用程序取消部署/部署到Tomcat。
對於取消部署/部署,我需要憑據。 我通過“掩碼密碼”(用戶名和密碼)在詹金斯工作中掩蓋了這些
我無法在“系統Groovy腳本”中正確使用這些變量。
當我直接在腳本中使用憑據時,效果很好。 這是我的“系統Groovy腳本”:
def ant = new AntBuilder()
//def user = build.getEnvVars()['user']
//def password = build.getEnvVars()['password']
ant.taskdef( name: 'deploy', classname: 'org.apache.catalina.ant.DeployTask' )
ant.taskdef( name: 'undeploy', classname: 'org.apache.catalina.ant.UndeployTask' )
ant.undeploy(
url:deployURL,
username:"${user}",
password:"${password}",
path:deployPath,
failonerror:true)
ant.deploy(
url:deployURL,
username:"${user}",
password:"${password}",
path:deployPath
war:warfile)
我通過以下方式使用了上面鏈接中的解決方案:
def credentials_store = jenkins.model.Jenkins.instance.getExtensionList(
'com.cloudbees.plugins.credentials.SystemCredentialsProvider')
credentials_store[0].credentials.each { ThisJenkins ->
if (ThisJenkins instanceof com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl) {
if (ThisJenkins.username == "MyUser") {
user = ThisJenkins.username
password = ThisJenkins.password
}
}
}
后來我在部署中使用了“用戶”和“密碼”:
ant.undeploy(
url:'MyServer',
username: user,
password: password,
path:'/MyTool',
failonerror:false)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.