Ich habe das folgende Szenario.Kann ich den Befehl git in der Lieferpipeline verwenden, wenn git in einem anderen Pfad auf dem jenkins-Agent installiert ist als auf dem Master
Ich versuchte einen einfachen Pipeline-Job, der mein Remote-Repo klont. Es funktioniert gut, wenn ich es auf Master ausführen.
node {
//stage 'Checkout'
git([url: 'ssh://[email protected]:29418/bla/bla.git', branch: 'mybranch'])
}
Es verwendet die Standard-Git-Installation, um den Befehl auszuführen. Ich habe git auf einen anderen pat für Slave in Jenkins Konfiguration konfiguriert. Wenn ich versuche, die gleiche Pipeline auf einem Slave auszuführen, schlägt es fehl, weil es immer versucht, die Standard-Git-Installation zu gehen.
node ('myagent1'){
//stage 'Checkout'
git([url: 'ssh://[email protected]:29418/bla/bla.git', branch: 'mybranch'])
}
Der Fehler liegt auf der Hand:
Caused by: hudson.plugins.git.GitException: Error performing command: /jenkins-master-some-path/bin/git init /home/user/workspace/pipeline
/jenkins-master-some-path/bin/git
für Master korrekt ist.
Für normale Jobs können wir eine Installation auswählen, aber kann mir jemand sagen, ob es eine Möglichkeit gibt, eine andere Git-Installation für die Pipeline auf einem Slave zu verwenden.
Das könnte auch funktionieren. Ich habe es nicht versucht, aber ich stimme dieser Lösung theoretisch zu. –