web-dev-qa-db-de.com

Wie kann ich VSTS-Build auslösen und freigeben, wenn Tags verschoben werden?

Ich habe eher eine einfache Szene, einen Master-Zweig. Wenn ich eine Produktionsfreigabe machen möchte, möchte ich zB einen Commit mit einem Tag versehen. vX.X.X.

Die CI/CD-Pipeline sieht so aus

Build -> Staging-Umgebung -> Produktionsumgebung

  1. Jedes Commit an Master wird an die Staging-Umgebung gesendet
  2. Wenn ich einem Commit ein vX.X.X-Tag hinzufüge, möchte ich, dass die Staging- und Produktionsumgebung ausgelöst wird.

Ich habe diesen Link Trigger Build gefunden, wenn das Tag zu git verschoben wird. Ich kann es einfach nicht herausfinden, wie es funktioniert. Es funktioniert einfach nicht für mich.

Ist es möglich und wie konfiguriere ich das VSTS, um einen Build zu starten, wenn ein Tag zu einem Commit hinzugefügt wird? 

13
dzed

Wenn ein Commit mit Tag in den Zweig master verschoben wird, wird der Build für zweimal (auf dem Hauptzweig und dem Tag) getrennt ausgelöst. Sie müssen die Production Environment angeben, die nach release ausgelöst wurde, nicht nach der Staging-Umgebung.

Und die Einstellungen zum Erstellen und Freigeben von Definitionen wie folgt:

Build Definition:

In der Registerkarte "Trigger" -> können Sie den Zweigfilter so einrichten, dass er master und refs/tags/v* -> Save enthält.

 enter image description here

Freigabedefinition:

Geben Sie den Artefaktfilter an, um den Zweig master für die Staging-Umgebung aufzunehmen -> Wählen Sie Nach dem Release für den Trigger der Produktionsumgebung aus -> geben Sie den Artefakt-Filter an, der refs/tags/v* für die Produktionsumgebung enthalten soll -> Speichern.

 enter image description here

 enter image description here

Wenn nur Commits in master branch gepusht werden -> wird ein Build für master branch ausgelöst -> wird eine neue Version erstellt -> nur Staging-Umgebung implementieren.

Wenn sowohl Commits als auch Tags auf master branch gepusht werden -> werden zwei Builds ausgelöst (einer für master branch, der andere für refs/tags/v*) -> zwei Releases werden erstellt:

 enter image description here

  • Für die mit Build-Artefakten verknüpfte Version in master branch -> wird nur Staging-Umgebung bereitgestellt.

     enter image description here

  • Für die mit Build-Artefakten verknüpfte Version unter refs/tags/v* -> wird nur die Produktumgebung bereitgestellt. 

     enter image description here

22

In vielen Screenshots für Release-Artefaktfilter sehe ich die Option "Zweig erstellen". In unserem Setup sehe ich das jedoch nicht. Es ist sogar vorhanden, wenn Sie die DevOps-Dokumentation betrachten. Vielleicht ist es eine Frage der Erlaubnis oder Version?

Wir verwenden TFVC.

Screenshot des Release-Auslösers

0
Ward