2017-04-18 8 views
0

In meinem Job jenkins, würde ich gerne verschiedene Quelle von SVN basierend auf Eingabeparameter auschecken. Zum Beispiel, wenn Eingabe ist "foo", dann Kasse Quelle von https://svn/code/foo/trunk. Wenn die Eingabe "bar" ist, dann checken Sie die Quelle von https://svn/anotherrepo/bar/trunk.jenkins - checkout source basierend auf einem Parameter

Ich möchte dies mit parametrisierten Plugin und Subversion-Plugin in Jenkins tun. Ist das möglich? Wenn nicht, was sind die möglichen Lösungen?

Ich verwende Jenkins Version 2.22. TIA

Antwort

1

Dies ist möglich. Die deklarative Jenkinsfile-Syntax unterstützt Parameter und Subversion mit den entsprechenden installierten Plugins. Sie können die Parameter sammeln mit den Parametern blockieren und die Parameter verwenden, indem params.PARAM_NAME wie diese Referenzierung:

pipeline { 
    agent { label 'docker' } 
    options { 
    skipDefaultCheckout true 
    } 
    parameters { 
    string(name: 'MY_MODULE', defaultValue: 'awesome_module', description: 'What subversion module to checkout?') 
    } 
    stages { 
    stage('hot_stage') { 
     steps { 
     checkout changelog: false, poll: false, scm: [$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: '196ff1ff-c481-4d2e-922b-e32410f8ee13', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: "https://svn/code/${params.MY_MODULE}/trunk"]], workspaceUpdater: [$class: 'UpdateUpdater']] 
     } 
    } 
    } 
} 

dass Mega lange Kasse Schritt automatisch durch meine jenkins Server generiert wurde, wenn ich auf „Pipeline Syntax“ geklickt in das linke nav eines beliebigen Pipeline-Jobs, ausgewählter Beispielschritt "checkout: General SCM", füllte die Optionen in der jenkins UI aus und klickte auf "Pipeline Script generieren".

Sie verwenden nicht die absolut neuesten Jenkins, und ich bin mir nicht sicher, wann die Anweisung params hinzugefügt wurde. Wenn das nicht funktioniert, können Sie wahrscheinlich über env.MY_MODULE darauf verweisen.

Verwandte Themen