2016-06-10 15 views
2

Ich habe versucht, den Unterschied zwischen den beiden zu finden, fand aber keinen einzigen Bezugspunkt, der genau erklärt, wann ein Template verwendet werden sollte und wann ein Meta-Runner verwendet werden sollte. Oder sind es zwei Werkzeuge, um die gleiche Aufgabe zu erledigen, die Build-Step-Redundanz zu entfernen, und sie können synonym verwendet werden?Was ist der Unterschied zwischen Build-Vorlagen und Meta-Runern von TeamCity? Wann wird jedes benutzt?

Meine Zweifel rührt von der Tatsache, dass ein Meta-Runner verwendet wird, um wiederkehrende Build-Schritte über verschiedene Build-Konfiguration angeben, sondern auch eine Vorlage sein kann. Also wann wann welche?

Dies ist die nächste, die ich gefunden:

Während Vorlagen verwendet werden können, um Build-Konfigurationen zu erstellen und zu pflegen, die sehr ähnlich sind, Meta-Läufer können über Build-Konfigurationen, die die gleichen Build Schritte ausführen verwendet werden. Außerdem kann eine Build-Konfiguration nur auf einer Vorlage basieren, aber sie kann mehrere Meta-Runners verwenden.

http://www.scmgalaxy.com/scm/build-workflow-management/teamcity/build-configuration-templates-in-teamcity.html

Aber das erklärt nicht, wenn die verwenden.

Antwort

2

A TeamCity build template ist eine Vorlage für den gesamten Build. Sie enthält eine Konfiguration, die für den Build als Ganzes gilt, z. B. Artefaktpfade, und auch Sammlungen von VCS-Roots, Build-Schritten usw., jeweils mit ihrer individuellen Konfiguration. Wie Sie bereits gesagt haben, kann ein Build nur mit einer einzigen Build-Vorlage verknüpft werden. Sie können sich die Vorlage als Framework für Ihren Build vorstellen.

A TeamCity meta-runner ist eine Serie von Build-Schritten (Verwendungen von Läufern), die als einzelne Läufer eingekapselt sind. Es ist viel kleiner im Umfang als eine Build-Vorlage: Es enthält nur die Schritte und ihre Konfiguration, keine Konfiguration, die für den gesamten Build gilt. Wie du gesagt hast, kann ein Build eine beliebige Anzahl von Meta-Läufern verwenden. Sie können sich Meta-Runner als Bibliotheksaufrufe für Ihren Build vorstellen.

Beide Konstrukte werden zur Konsolidierung der Konfiguration verwendet, die für mehrere Builds wiederholt wird. Welche zu verwenden ist, hängt davon ab, wie verbreitet die Wiederholung ist. Wenn Ihre Builds alle bis auf eine Einstellung oder einen Schritt hier und da im Wesentlichen identisch sind, erstellen Sie eine Build-Vorlage, verknüpfen Sie jede Ihrer Builds damit und überschreiben Sie gegebenenfalls die Vorlageneinstellungen. Wenn Ihre Builds alle unterschiedlich sind, aber einige gemeinsame Sequenzen von Build-Schritten haben, erstellen Sie einen Meta-Runner für jede allgemeine Sequenz von Build-Schritten und verwenden Sie ihn in den Builds, die diese Sequenz von Schritten haben.