2017-11-06 3 views
2

Ich konfigurierte Jenkins Multibranch-Pipeline auf Jenkins Version 2.60.2 Ich bin auf der Suche nach einer Möglichkeit, meine Kennwörter in jenkins Multibranch Pipline-Konfiguration zu halten, damit Jenkinsfile sie als Parameter für die Ausführung ihrer Stufen nehmen konnte. Gibt es eine Möglichkeit, diese Eigenschaften in der Benutzeroberfläche von jenkins festzulegen? Ich habe eine ähnliche Frage here gefunden, aber ich denke, es gibt eine mehr bevorzugte Art und Weise. DankWie fügt man Eigenschaften in Jenkinsfile in Multi-Branch-Pipeline ein?

+2

Es ist nicht klar, was Ihr Problem ist. Was versuchst du eigentlich zu erreichen? Es klingt so, als würdest du Geheimnisse in deine 'Jenkinsfile' und das [Credentials Plugin] (https://wiki.jenkins.io/display/JENKINS/Credentials+Plugin) und [Credentials Binding Plugin] (https: // wiki.jenkins.io/display/JENKINS/Credentials+Binding+Plugin) ist der De-facto-Weg, um dies zu erreichen. Es gibt auch [CloudBees] (https://support.cloudbees.com/hc/en-us/articles/204897020-Fetch-a-userid-and-password-from-a-Credential-object-in-a-Pipeline -job-) Dokumentation zu diesem Ansatz. – mkobit

+0

Können Sie diese Plugins in einer Antwort auf meine Frage erwähnen? Ich werde es akzeptieren. Meine Frage war, welche Plugins zu verwenden sind. Vielen Dank. – rastaman

Antwort

2

Für Anmeldeinformationen in einer Jenkins Pipeline verwenden, gibt es ein paar Plugins, die ich im wesentlichen Teil des Jenkins-Core in Betracht ziehen würden (obwohl sie sind Plugins):

Diese können kombiniert werden, um Ihnen eine Möglichkeit zu geben, Anmeldeinformationen administrativ zu verwalten und Möglichkeiten zu bieten, diese in Jobs zu verarbeiten. Es gibt zusätzliche Plugins, die auf diesen Implementierungen basieren. Beispielsweise können Sie mit der SSH Credentials Plugin SSH-Anmeldeinformationen in Jenkins speichern.

Das Credentials Binding Plugin bietet den Schritt withCredentials. Die documentation has some examples on how you could use it. Hier ist ein Beispiel aus der Dokumentation:

node { 
    withCredentials(
     [ 
      usernameColonPassword(
       credentialsId: 'mylogin', 
       variable: 'USERPASS' 
     ) 
     ] 
) { 
    sh ''' 
      set +x 
      curl -u $USERPASS https://private.server/ > output 
     ''' 
    } 
}