Ich schreibe Pipeline-Skript, um kontinuierliche Integration in unserem Projekt zu implementieren. Der Prozess besteht darin, dass Benutzer in einem bestimmten Zweig arbeiten, der der Namenskonvention test_id1
, test_id2
usw. folgt. Sobald diese in den Remote-Repo-Modus versetzt werden, startet Jenkins, testet den Zweig mit test * und erledigt den Build-Prozess.Jenkins Pipeline - Git Zweig
Basierend auf meinem ersten Instinkt, schrieb ich das Pipeline-Skript wie folgt: Stufe 'bauen'
node {
git url: '[email protected]:testing', branch: test*
sh "pwd"
sh "cat simple.csh"
sh "echo $PATH"
sh "csh simple.csh"
echo("end of pipeline")
}
Btw, ich habe "test *" versucht, 'test *'.
Jenkins bürgt mit dem folgenden Fehler aus:
Caused by: hudson.plugins.git.GitException: Command "git checkout -b test* 264dc398372cba41c026568bd764d2656ebfc511" returned status code 128:
Also, die Frage ist, ob ich in der richtigen Richtung mit dieser gehe. Ich schaute auch auf den Fehler oben und offensichtlich, git Kasse mit einem Platzhalter ist etwas, das nicht den Zweck erfüllen würde. So würde der folgende Ansatz Arbeit:
1) Kasse git Master wie gewohnt 2) Überprüfen Sie, ob neue Niederlassung mit dem Namen Test * existiert 3) Ist dies der Fall, den Zweig Kasse und dann tun Rest des Builds
einige Anweisungen hierzu finden Sie benötigen ...
Probieren Sie den 'checkout'-Schritt der Pipeline aus und verwenden Sie' '' 'als Zweigname (der Doppelpunkt ist hier wichtig, um jenkins wissen zu lassen, dass Sie eine Regex verwenden!). Überprüfen Sie den Snippet-Generator in Ihrer Jenkins-Instanz - er kann Ihnen bei der Syntax des Schritts helfen –
fishi