2017-11-24 2 views
3

Ich habe den folgenden Schritt in meiner deklarativen jenkins-Pipeline: Ich erstelle Skript, das aus meinem resources/ Ordner mit libraryResource kommt. Dieses Skript enthält Anmeldeinformationen für meinen Benutzer autobuild und für einige Benutzer admintest.So verwenden Sie mehrere Anmeldeinformationen in withCredentials in Jenkins Pipeline

stage('Build1') { 
       steps { 
        node{ 
         def script = libraryResource 'tests/test.sh' 
         writeFile file: 'script.sh', text: script 
         sh 'chmod +x script.sh' 
         withCredentials([usernamePassword(credentialsId: xxx, usernameVariable: 'AUTOBUILD_USER', passwordVariable: 'AUTOBUILD_PASSWD')]){ 
          sh './script.sh " 
         } 

        } 

       } 

Das funktioniert gut. Ich kann meinen autobuild Benutzer benutzen. Jetzt suche ich nach dem besten Weg, wie ich auch die Credentials meines admintest Benutzers mit einbeziehen kann. Muss ich es mit einem zweiten withCredentials Teil "verschachteln" oder kann ich noch ein usernamePassword 'Array' hinzufügen?

Antwort

7

Sicher, Sie können einen withCredentials Block verwenden, um mehrere Anmeldeinformationen für verschiedene Variablen zuzuweisen.

withCredentials([ 
    usernamePassword(credentialsId: credsId1, usernameVariable: 'USER1', passwordVariable: 'PASS1'), 
    usernamePassword(credentialsId: credsId2, usernameVariable: 'USER2', passwordVariable: 'PASS2') 
]){ 
    //... 
} 
Verwandte Themen