2017-05-19 3 views
0

Ich versuche, meinen Kopf darüber zu wickeln, wie wir unser Release-Management konfigurieren können, um Environments zu verwenden. Nehmen wir an, unsere Architektur hat ein Angular-Frontend und WebApi-Projekte auf dem Webserver und ein WCF-Projekt auf unserem App-Server (also insgesamt 3 Projekte). Darüber hinaus verfügen wir über Test-, Bühnen- und Produktionsumgebungen.Umgebungen in VSTS-Versionen

Bin ich in meinem Verständnis richtig, dass wir 1 Release-Definition mit 3 Umgebungen erstellen würden. Würde jede Umgebungsdefinition aus den Aufgaben bestehen, um die notwendigen Artefakte für alle 3 Projekte in die notwendigen Ordner/Server für diese Umgebung zu implementieren?

Soll das so funktionieren? Die Dokumentation ist nicht schlecht, aber ich brauche eher eine reale Welt, konkretes Beispiel.

Antwort

1

Dieses Szenario ähnelt den Datenbank- und Web-Tiers einer Anwendung.

Diese sollten als eine einzige Umgebung modelliert werden, da die beiden Werte synchron sein sollen. Wenn Sie diese als separate Umgebungen modellieren, riskieren Sie, dass Sie ein Build für die Datenbankumgebung bereitstellen und ein anderes Build für die Webstufenumgebung.

Nicht klar über die Beziehung zwischen WCF-Projekt mit anderen Projekten. Wenn Angular App Bedarf Daten aus WCF zu abzurufen, können Sie Release-Definition mit 3 Umgebungen erstellen (Test, Bühne und Produktion), dann wird der Workflow so aussehen:

  1. diese Projekte bereitstellen zu entsprechenden Server für die Testumgebung
  2. nach der Prüfung genehmigen bereitstellen Stufe
  3. genehmigen Produktion bereitstellen

Wenn es nicht die Beziehung zwischen WCF-Projekt mit anderen Projekten ist, können Sie eine weitere Release-Definition mit 3 Umgebungen für dieses Projekt erstellen .

+0

Ja, die WCF-Dienste liefern Daten an das öffentliche API-Projekt (webApi). Also, sollte es eine Release-Definition für 1. die Web-App mit "Environments" für Test, Stage, Production 2. das WebApi-Projekt mit "Environments" für Test, Stage, Production 3. das WCF-Projekt mit "Environments" für Test geben , Bühne, Produktion? Oder irre ich das? –

+0

Noch eine Sache, wenn die TEST-Umgebung mit CI eingerichtet ist (Push to TST Branch), wird die STAGE-Umgebung mit CI (merge to stage) eingestellt und die PRODUCTION-Umgebung ist manuelle Bereitstellung, es sieht genauso aus wie die manuelle Bereitstellung für PRODUCTION Stellen Sie die anderen Umgebungen erneut bereit. Ist das richtig? –

+0

@MattM Ja, eine Version mit Test-, Stage-, Produktionsumgebungen und Aufgaben hinzufügen, um diese Apps in jeder Umgebung bereitzustellen. –