64 votes

Comment utiliser des informations d'identification multiples dans withCredentials dans Jenkins Pipeline ?

J'ai l'étape suivante dans mon pipeline déclaratif Jenkins : Je crée script qui vient de mon resources/ en utilisant libraryResource. Ce script contient les informations d'identification de ma autobuild et pour certains admintest utilisateur.

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 "
                        }

                    }

                }   

Cela fonctionne bien. Je peux utiliser mon autobuild utilisateur. Maintenant, je cherche la meilleure façon d'inclure également les informations d'identification de mes utilisateurs. admintest utilisateur. Dois-je l'imbriquer avec un deuxième utilisateur ? withCredentials ou puis-je ajouter à nouveau une usernamePassword " array " ?

125voto

Vitalii Vitrenko Points 3050

Bien sûr, vous pouvez utiliser un withCredentials pour assigner plusieurs justificatifs à différentes variables.

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

0 votes

Comment faire cela avec Groovy ?

5 votes

@meshfields c'est Groovy.

8voto

peshkovmax Points 91

Vous pouvez également utiliser ceci avec $class

                    withCredentials([[
                      $class: 'AmazonWebServicesCredentialsBinding',
                      credentialsId: 'awsID',
                      accessKeyVariable: 'AWS_ACCESS_KEY_ID',
                      secretKeyVariable: 'AWS_SECRET_ACCESS_KEY'],

                    [$class: 'UsernamePasswordMultiBinding',
                      credentialsId: 'myID',
                      usernameVariable: 'USR',
                      passwordVariable: 'PWD']])

0 votes

Toute classe pour un texte de type chaîne

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X