2013-10-22 8 views
5

In meinem Projekt habe ich ein GitFlow Stil Repository.Jenkins Git Branch Auswahl mit Fallback

Wie kann ich Jenkins wie folgt vor: (XXXX = Freigabe Nein)

  1. Bauen Sie die Release-XXXX Zweig
  2. Wenn ein Versionszweig existiert nicht den Master-Zweig bauen.

Ich verstehe ich Zweige in Prioritätsreihenfolge unter Verwendung des git-chooser-alternative Plugin setzen kann, aber ich weiß nicht, wie Zweige wählen Sie das Wort Release-

Antwort

0

Sie enthält eine Pipeline für diese verwenden können.

def doCheckout(cloneUrl,branches) { 
for (String branch : branches) { 
    try { 
    deleteDir() 
    sh 'git config --global credential.helper cache' 
    checkout([ 
    $class: 'GitSCM', 
    branches: [[name: branch]], 
    extensions: [ 
    [$class: 'CloneOption', 
     noTags: false, 
     reference: '', 
     shallow: true, 
     honorRefspec: true], 
    [$class: 'WipeWorkspace'], 
    [$class: 'CleanBeforeCheckout'] 
    ], 
    submoduleCfg: [], 
    userRemoteConfigs: [ 
    [ credentialsId: 'someCredentialId', url: cloneUrl] 
    ] 
    ]) 
    sh "git checkout ${branch}" 
    return 
    } catch (Throwable throwable) { 
    //Try next... 
    } 
} 
throw new RuntimeException("Could not find any of the ${branches} from ${cloneUrl}") 
} 

def branches = ['release','develop','master'] 
doCheckout(cloneUrl, branches)