2012-05-25 11 views
12

Ich möchte in der Lage sein, eine Ansicht von Jenkins Builds ähnlich der buildbot console anzuzeigen. Mit Jenkins out of the box scheint es wirklich keinen guten Weg zu geben, ein Commit mit einem Build zu verbinden. Sie müssen auf das spezifische Build zugreifen, um zu bestimmen, welche Commit-Datei erstellt wurde.Commit-basierte Ansicht von Jenkins baut

Ich möchte in der Lage sein, Status zu zeigen, welche Commits in einem bestimmten Zweig getestet wurden, so dass wir wissen, ob ein Commit übersprungen wurde oder ob der letzte Commit noch nicht getestet wurde.

Ich versuchte, die Jenkins-API dafür zu verwenden, aber ich fand, dass ich den SHA1-Hash für einen Git-Commit nur über den Build selbst sehen konnte, also über http://server/job/job-name/388/api/json. Die einzige Möglichkeit, ein Commit zu machen und Builds dafür zu finden, besteht darin, jeden Build in einem Job zu durchlaufen und die zugehörigen Build-Informationen abzurufen. Dies wird sicherlich nicht effizient und schnell sein. Gibt es einen anderen Weg, es zu tun?

+0

Was bedeutet 'http: // /job//changes' sagen? –

+0

Diese URL hat keine assoziierte API und verbindet Commits nicht mit Builds. Ich nehme an, dass ich Jenkins Unterstützung für diese Aufgabe hinzufügen muss, aber ich habe diese Frage offen gelassen, bis das passiert. – djs

Antwort

5

Imperfect Antwort: Setzen Sie die "Revisionsnummer", die Ihnen wichtig ist, in den Paketnamen aller verwandten Artefakte, und verwenden Sie die Funktion "Fingerabdruck".

Zum Beispiel: meine Artefakte "Produktpaket" haben eine Revisionsnummer, und wenn ich das bis zum Artefakt "Testpaket" (das das ungepackte Produktartefakt enthält) mitführen würde, wäre es möglich, diese Revisionsnummer zu verfolgen "artifact/fingerprint" -Feature und zeigen an, welche Test-Jobs es verwendet haben. Im Folgenden können Sie nicht mit einem einzigen Klick feststellen, welcher Test welches "commit" verwendet hat.

prod_fingerprint enter image description here