簡體   English   中英

Jenkins掩碼密碼在“執行系統Groovy腳本”中使用

[英]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)

Jenkins憑證通過Groovy存儲訪問

我通過以下方式使用了上面鏈接中的解決方案:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM