Parallele Releaseaufträge in Team Foundation Server

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

In diesem Artikel wird das Lizenzierungsmodell für Azure Pipelines in Team Foundation Server 2017 (TFS 2017) oder neuer beschrieben. Team Foundation Build (TFBuild) wird Ihnen nicht in Rechnung gestellt, solange Sie über eine TFS-Clientzugriffslizenz (TFS Client Access License, CAL) verfügen. Informationen zur Lizenzierung in Azure Pipelines finden Sie unter Ausführen paralleler Aufträge.

Mit einem parallelen TFS-Auftrag können Sie ein einzelnes Release gleichzeitig in einer Projektsammlung ausführen. Sie können Hunderte oder sogar Tausende von Releaseaufträgen in Ihrer Sammlung behalten. Um jedoch mehr als ein Release gleichzeitig ausführen zu können, benötigen Sie zusätzliche parallele Aufträge.

In jeder Sammlung auf einem Team Foundation-Server ist ein kostenloser paralleler Auftrag enthalten. Jeder Visual Studio Enterprise auf einem Team Foundation-Server trägt einen zusätzlichen parallelen Auftrag bei.

Sie können zusätzliche private Aufträge über den Visual Studio Erwerben.

Wichtig

Ab Azure DevOps Server 2019 müssen Sie in Releases nicht mehr für selbstge gehostete gleichzeitige Aufträge bezahlen. Sie sind nur durch die Anzahl der Agents beschränkt, über die Sie verfügen.

Ben möchte ich parallele Aufträge in TFS 2015? Kurze Antwort: Nein. Weitere Informationen

Wie ein paralleler Auftrag verwendet wird

Beispielsweise verfügt eine Sammlung auf einem Team Foundation-Server über einen parallelen Auftrag. Dadurch können Benutzer in dieser Sammlung nur ein Release gleichzeitig ausführen. Wenn zusätzliche Releases ausgelöst werden, werden sie in die Warteschlange gestellt und warten auf den Abschluss des vorherigen Releases.

Ein Release erfordert nur dann einen parallelen Auftrag, wenn es aktiv in einer Phase bereitgestellt wird. Das Warten auf eine Genehmigung verbraucht keinen parallelen Auftrag. Das Warten auf einen manuellen Eingriff in der Mitte einer Bereitstellung verbraucht jedoch einen parallelen Auftrag.

Parallel jobs simple example

  1. FabrikamFiber Release 10 wird zuerst bereitgestellt.
  2. Die Bereitstellung von FabrikamFiber Release 11 beginnt, nachdem die Bereitstellung von Release 10 abgeschlossen ist.
  3. Release 12 wird in die Warteschlange gestellt, bis die Bereitstellung von Release 11 aktiv ist.
  4. Release 11 wartet auf eine Genehmigung. Die Bereitstellung von Release 12 wird gestartet, da ein Release, das auf Genehmigungen wartet, keinen parallelen Auftrag verbraucht.
  5. Obwohl Release 11 genehmigt ist, wird es erst fortgesetzt, nachdem die Bereitstellung von Release 12 abgeschlossen ist.
  6. Release 11 wartet auf manuellen Eingriff. Release 13 kann nicht gestartet werden, da der Zustand des manuellen Eingriffs einen parallelen Auftrag verbraucht.

Manueller Eingriff verbraucht keinen Auftrag in TFS 2017.1 und neuer.

Parallele Verarbeitung innerhalb eines einzelnen Release

Die parallele Verarbeitung innerhalb eines einzelnen Release erfordert keine zusätzlichen parallelen Aufträge. Solange Sie über genügend Agents verfügen, können Sie die Bereitstellung in mehreren Phasen gleichzeitig in einem Release bereitstellen.

Angenommen, Ihre Sammlung verfügt über drei parallele Aufträge. Sie können mehr als drei Agents gleichzeitig ausführen, um parallele Vorgänge innerhalb von Releases durchzuführen. Beachten Sie beispielsweise unten, dass vier oder fünf Agents aktiv Aufträge aus drei parallelen Aufträgen ausführen.

Parallel jobs with additional agents example

Parallele Aufträge in einer Organisation

Hier sehen Sie beispielsweise eine Organisation, die über mehrere Team Foundation Server-Server verfügt. Zwei ihrer Benutzer verfügen über Visual Studio Enterprise-Abonnements, die sie gleichzeitig auf allen lokalen Servern und in jeder Sammlung verwenden können, solange der Kunde sie wie unten beschrieben als Benutzer zu beiden Servern hinzufügt.

Parallel jobs in an organization example

Bestimmen der benötigten Anzahl gleichzeitiger Aufträge

Sie können zunächst sehen, ob Ihre Teams mit den parallelen Aufträgen auskommt, die Sie standardmäßig haben. Da die Anzahl der Releases in der Warteschlange die Anzahl paralleler Aufträge überschreitet, werden Ihre Releasewarteschlangen länger. Wenn Sie dann feststellen, dass die Verzögerungen in der Warteschlange zu lange dauern, können Sie bei Bedarf zusätzliche parallele Aufträge kaufen.

Einfache Schätzung

Eine einfache Faustregel: Schätzen Sie, dass Sie einen parallelen Auftrag für jeweils 10 Benutzer auf Ihrem Server benötigen.

Detaillierte Schätzung

In den folgenden Szenarien benötigen Sie möglicherweise mehrere parallele Aufträge:

  • Wenn Sie über mehrere Teams verfügen, für jedes dieser Teams ein CI-Build erforderlich ist und jedes DER CI-Builds so konfiguriert ist, dass ein Release ausgelöst wird, benötigen Sie wahrscheinlich einen parallelen Auftrag für jedes Team.

  • Wenn Sie mehrere Anwendungen in einer Sammlung entwickeln, benötigen Sie wahrscheinlich zusätzliche parallele Aufträge: eine, um jede Anwendung gleichzeitig bereitzustellen.

Nutzen Ihres Visual Studio Enterprise Abonnements

Benutzer, die über Visual Studio Enterprise-Abonnements verfügen, werden VS Enterprise Zugriffsebene im Users-Hub der TFS-Instanz zugewiesen. Jeder dieser Benutzer trägt zu jeder Sammlung einen zusätzlichen parallelen Auftrag bei. Sie können diesen Vorteil auf allen Team Foundation Server-Servern in Ihrer Organisation nutzen.

  1. Navigieren Sie zu Servereinstellungen, Zugriffsebenen.

    Screenshot showing server settings, Access levels.

    URL-Beispiel: http://{your_server}:8080/tfs/_admin/_licenses

  2. Klicken Sie links auf der Seite auf VS Enterprise.

  3. Fügen Sie Ihre Benutzer hinzu, die Visual Studio Enterprise haben.

Nachdem Sie diese Benutzer hinzugefügt haben, werden zusätzliche Lizenzen auf der unten beschriebenen Seite ressourcenlimits angezeigt.

Erwerben zusätzlicher paralleler Aufträge

Wenn Sie weitere parallele Releases ausführen müssen, können Sie zusätzliche private Aufträge über den Visual Studio erwerben. Da es derzeit keine Möglichkeit gibt, parallele Aufträge direkt aus dem Marketplace für eine TFS-Instanz zu erwerben, müssen Sie zunächst parallele Aufträge für eine Azure DevOps erwerben. Nachdem Sie die privaten Aufträge für eine Azure DevOps-Organisation erworben haben, geben Sie die Anzahl der erworbenen parallelen Aufträge manuell auf der unten beschriebenen Seite ressourcenlimits ein.

Anzeigen und Verwalten paralleler Aufträge

  1. Navigieren Sie zu Sammlungseinstellungen, Pipelines, Ressourcenlimits.

    Screenshot showing Collection settings, Pipelines, Resource limits.

    URL-Beispiel: http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits

  2. Zeigen Sie die Anzahl der erworbenen parallelen Aufträge an, oder bearbeiten Sie sie.

Häufig gestellte Fragen

Wer kann das System verwendet werden?

TFS-Benutzer mit einer TFS CAL können so viele Releases erstellen, wie sie möchten.

Zum Genehmigen von Releases ist keine TFS-CAL erforderlich. Jeder Benutzer mit Zugriff durch Beteiligte kann Releases genehmigen oder ablehnen.

Ben ben müsste ich parallele Aufträge ausführen, um Builds auf TFS ausführen zu können?

Nein, bei TFS benötigen Sie keine parallelen Aufträge, um Builds ausführen zu können. Sie können ohne zusätzliche Kosten gleichzeitig so viele Builds ausführen, wie Sie möchten.

Ben ben wir parallele Aufträge, um Releases in Versionen vor TFS 2017 zu verwalten?

Nein.

Solange Ihre Benutzer in TFS 2015 über eine TFS-CAL verfügen, können sie Releases ohne zusätzliche Gebühren im Testmodus verwalten. Wir haben dies als "Testmodus" bezeichnet, um anzugeben, dass die Verwaltung von Releases letztendlich in Rechnung gestellt wird. Trotz dieser Bezeichnung wird die Verwaltung von Releases in TFS 2015 vollständig unterstützt.

Wie werden Releases in Azure Pipelines?

Siehe Parallele Aufträge in Azure Pipelines.