2017-11-30 1 views
0

Ich scheinen nicht in der Lage, einen Jenkins-Pipeline-Job erstellen, die einen bestimmten Zweig erstellt, wo dieser Zweig ein Build-Parameter ist.Build Pipeline mit einem Branch-Parameter

Hier einige Konfigurations Screenshots:

param config (i mit einem Git Parameter und einem String-Parameter, versucht haben gleiche Ergebnis)

branch config (I $BRANCH_NAME_PARAM habe versucht, ${BRANCH_NAME_PARAM} und ${env.BRANCH_NAME_PARAM}, gleiche Ergebnis für alle Varianten)

enter image description here

Und das Buildprotokoll:

hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${BRANCH_NAME_PARAM}:refs/remotes/origin/${BRANCH_NAME_PARAM} --prune" returned status code 128: 
stdout: 
stderr: fatal: Couldn't find remote ref refs/heads/${BRANCH_NAME_PARAM} 

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1970) 

ich etwas falsch zu machen offensichtlich bin - alle Ideen auf, was?

Antwort

0

Jedes Mal, wenn ich einen Job hatte, der auf einem Zweig basierte, musste ich einen groovy script with EnvInject plugin setzen, um den ref/heads-Teil des in den Parametern ausgewählten git-Zweiges zu entfernen. Wenn Sie refs/heads/xxx behalten, wird Jenkins nach dem Zweig ref/heads/ref/heads/xxx suchen.

+0

Ein bisschen wie in https://stackoverflow.com/a/31484166/6309 – VonC

1

etwas detaillierter mit Beispielen mit VonC

beantworten kombiniert. Konfigurieren Sie erweiterte Auswahl Parameter namens BRANCHE:

  • angeben Begrenzer
  • groovy Skript angeben oder Pfad zu groovy Datei:
def command = "git ls-remote -h $gitURL" 
def proc = command.execute() 

proc.waitFor()   

if (proc.exitValue() != 0) { 
    println "Error, ${proc.err.text}" 
    System.exit(-1) 
}  

def branches = proc.in.text.readLines().collect { 
it.replaceAll(/[a-z0-9]*\trefs\/heads\//, '') 
} 
return branches.join(",") 

enter image description here

. Set Branchen zu bauen: $ BRANCH

enter image description here

. Erstellen Sie mit dem Parameter führt groovy Skript, und Sie werden dann eine Dropdown-Liste der Filialen

+0

Nice! Ich habe nach dem groovigen Skript gesucht. +1 – VonC

+0

Ist das nicht das Git Parameter Plugin? Ich bekomme ein Drop-down für meine aktuellen Jobs mit einer Liste aller Filialen –

Verwandte Themen