
Ich habe eine Jenkins-Datei und darin befindet sich ein „Git“-Befehl, um den Quellcode meines Java-Dienstes abzurufen. Außerdem habe ich einen Job mit „Pipeline-Skript von SCM“ erstellt, um die Jenkins-Datei von Git abzurufen. Wenn ich jedoch bestimmte Befehle wie „Git Show“ verwende, um die Commit-Nachricht abzurufen, tritt ein Fehler auf. Die Commit-Nachricht zeigt das Git der Hauptpipeline an, anstatt das Git, das innerhalb der Jenkins-Datei abgerufen wird.
Antwort1
Ich habe die Antwort schließlich selbst gefunden. Wenn ich einen Jenkins mit „Pipeline-Skript von SCM“ ausführe, um eine Jenkins-Datei von Git abzurufen, geben alle Git-Befehle, die ich für diese Jenkins-Datei verwendet habe, den aktuellen Git-Abruf zurück. Wie gesagt, verwende ich innerhalb der Jenkins-Datei einen anderen Git-Befehl, um meinen Dienst innerhalb der Jenkins-Datei abzurufen. Um die Git-Commit-Nachricht des Gits zu erreichen, habe ich den folgenden Befehl verwendet.
git log --format=%H -n 1