Articles

TFS-Tutorial: TFS zur Automatisierung von Build, Test und Bereitstellung für .NET-Projekte

Verwenden von Microsoft TFS 2015 Update-3 für .NET (Erstellen, Testen und Bereitstellen): TFS-Tutorial

TFS wird häufiger für die .NET-Entwicklung mit Visual Studio .NET IDE verwendet. Mit TFS 2015 Update 3 kann man mit einem SSH-Schlüssel eine Verbindung zu jedem Team Foundation Server Git-Repo herstellen.Team Foundation Server (TFS) ist ein ALM-Produkt von Microsoft, das die Funktionen für eine End-to-End-Entwicklung und Tests mit Work Item Management, Projektplanung (Wasserfall oder Scrum), Versionskontrolle, Build / Release (Bereitstellung) und Testfunktionen bietet.

HINWEIS: Dieses TFS-Tutorial enthält viele Bilder, damit es ordnungsgemäß geladen werden kann.

Lesen Sie auch => TFS für JAVA-Projekte mit Eclipse in DevOps

Verwenden von Microsoft TFS 2015 Update 3 für .NET (Build, Test and Deploy)

Einführung

TFS ist auf Microsoft Visual Studio und Eclipse auf allen Plattformen zugeschnitten, kann jedoch auch als Backend für mehrere IDEs (Integrated Development Environments) verwendet werden.

Wir werden nun einen Blick darauf werfen, wie Team Foundation Server (TFS) zum Erstellen, Testen und Bereitstellen von .NET-Webanwendungen verwendet wird, was traditionell die Stärke des Tools ist.

Voraussetzung:

  • Microsoft TFS 2015 Update 3
  • Microsoft Visual Studio .NET 2015 (30-Tage-Testversion)
  • SonarQube 6.4 oder höher
  • IIS-Webserver aktiviert. Da ich eine Windows 7-Box verwende, können Sie in diesem Lernprogramm nachsehen, wie Sie IIS 7 aktivieren. So installieren Sie Internetinformationsdienste (IIS 7) unter Windows 7 Ultimate
  • Es gibt mehrere YouTube-Videos zum Aktivieren von IIS unter Windows 2008 / 2012 / 2016.

Um die im Lernprogramm genannten Schritte auszuführen, benötigen Sie normalerweise einen Build-Server, auf dem Builds ausgeführt werden, und Bereitstellungsmaschinen oder -umgebungen, auf denen Anwendungen in IIS bereitgestellt werden, wobei Agenten installiert und ausgeführt werden. Bitte beachten Sie meine früheren Tutorial zu wissen, wie Agenten zu installieren.

Einrichten einer C # -Anwendung

Angenommen, TASK-Arbeitselemente werden in TFS erstellt und dem Entwickler zugewiesen, um daran zu arbeiten. Mir ist immer aufgefallen, dass die Rückverfolgbarkeit sehr wichtig ist, um Arbeiten über den gesamten Software-Lebenszyklus hinweg zu verfolgen.

Stellen Sie vor dem Hinzufügen einer .NET-Anwendung zum TFS-Quellcodeverwaltungs-Repository sicher, ob eine Sammlung und ein Teamprojekt vorhanden sind oder nicht.

Eine Sammlung wird vom TFS-Administrator erstellt. Es besteht aus einer Gruppe von Teamprojekten in einer beliebigen Serviceorganisation, in der Projekte für mehrere Kunden ausgeführt werden. Sie können für jedes Kundenprojekt in TFS individuelle Sammlungen erstellen.

Sobald eine Sammlung erstellt wurde, können Sie mehrere Teamprojekte darin erstellen. Ein einzelnes Teamprojekt besteht aus allen Arbeitselementen, Quellcode, Testartefakten, Metriken für Berichte usw., Team-Projekt kann mit verschiedenen eingebauten Prozessvorlagen wie Scrum, Agile, CMMI etc. erstellt werden.

  • Weitere Informationen zum Erstellen von Sammlungen finden Sie unter Verwalten von Teamprojektsammlungen in Team Foundation Server
  • Hier verwende ich die Standardsammlung, die nach der Installation von TFS erstellt wird
  • Um Teamprojekte innerhalb einer Sammlung zu erstellen, führen Sie die folgenden Schritte aus.

1 C# -Anwendung einrichten

2 Teamprojekt erstellen

3 C # -Anwendung einrichten - Vorlage auswählen

4 Eine C # -Anwendung einrichten - Quellcodeverwaltung angeben

5Eine C # -Anwendung einrichten- Teamprojekteinstellung

6 eine C # -Anwendung einrichten- Teamprojekterstellung

7 Einrichten einer C # -Anwendung - neues Teamprojekt erstellt.1

Starten Sie das TFS-Webinterface über die URL http://<ServerName>:port/tfs und Sie können das erstellte Projekt sehen.

8. Projekte und Teams

Klicken Sie auf das Projekt und Sie gelangen zum Team-Dashboard

(Hinweis: Klicken Sie auf ein Bild für eine vergrößerte Ansicht)

12. Mein TFS-Projekt.1

Jetzt haben wir eine Sammlung und ein Teamprojekt erstellt. Starten wir Visual Studio.NET erstellen Sie eine neue C # -Webanwendung und geben Sie das Projekt für das TFS-Quellcodeverwaltungs-Repository frei. Dies ist der erste Schritt zur Etablierung der Continuous Integration (CI) -Praxis.

1) Starten Sie Visual Studio.NET und legen Sie TFS als Standard-Quellcodeverwaltungs-Repository fest. Gehen Sie zu Extras => Optionen => Quellcodeverwaltung. Klicken Sie dann auf OK.

Visual starten Studio.NET

2) Gehen Sie zu View => Team Explorer und stellen Sie über das Symbol eine Verbindung zum TFS-Server her16verbindung zum TFS-Server herstellen

17View- Team Explorer

3) Erstellen Sie einen C # -ASP.NET Web project

19erstellen Sie ein C # ASP.NET Webprojekt

21 Erstellen Sie ein C # ASP.NET Webprojekt

4) Da wir eine Webanwendung erstellen, Wählen Sie die Webformularvorlage

23 Wählen Sie die Webformularvorlage

Klicken Sie auf OK, um das Projekt zu erstellen.

5) Das erstellte Projekt kann im Projektmappen-Explorer angezeigt werden. .NET verwendet das Konzept von .sln-Datei oder Lösung, um alle Projekte enthalten. Sobald Sie die Lösung öffnen, werden auch alle zugehörigen Projekte geöffnet. Wir müssen die Lösung zum TFS-Quellcodeverwaltungs-Repository hinzufügen

25 Das erstellte Projekt kann im Lösungsexplorer angezeigt werden

6) Ändern Sie die Standarddatei.aspx wie gezeigt, Speichern Sie es und fügen Sie dann die gesamte Lösung zum TFS-Quellcodeverwaltungs-Repository hinzu

27file Default.aspx

Wählen Sie die Entwurfsansicht und Sie können die gesamte Seite sehen

29 Entwurfsansicht

7) Fügen Sie die Lösung zur TFS-Quellcodeverwaltung hinzu. Klicken Sie mit der rechten Maustaste auf die Lösung und wählen Sie „Lösung zur Quellcodeverwaltung hinzufügen“

31lösung zur Quellcodeverwaltung hinzufügen

8) Wählen Sie das zuvor erstellte Teamprojekt aus und klicken Sie dann auf OK

33 Wählen Sie das Teamprojekt aus

9) Die Lösung ist noch nicht im TFS eingecheckt. Klicken Sie im Team Explorer auf den Quellcodeverwaltungs-Explorer, und Sie können die hinzugefügte Lösung zum Einchecken sehen.

35source control Explorer

10) Check-in-Änderungen. Gehen Sie zu Team Explorer => Ausstehende Änderungen

Geben Sie einen Kommentar ein und ziehen Sie ein Arbeitselement per Drag & Drop, um die Rückverfolgbarkeit sicherzustellen. Klicken Sie auf die Schaltfläche Check-in.

37 Check-in

39 Ausstehende Änderungen

41drag-Drop eines TASK-Workitems zur Sicherstellung der Rückverfolgbarkeit

11) Um die lokal ausgeführte Website zu testen, klicken Sie auf das Firefox-Symbol in Visuelle Studio.NET . Denken Sie daran, dass es in einer bestimmten Umgebung noch nicht in IIS bereitgestellt wird.

43 Klicken Sie in Visual Studio auf das Firefox-Symbol.NET

website

Erstellen einer Build-Definition mit Codeanalyse

Eine Build-Definition besteht aus einer Reihe von Aufgaben, die während eines automatisierten Build-Prozesses ausgeführt werden. Beispiele für die Aufgaben können das Ausführen eines Visual Studio-Builds, eines MS-Builds, das Ausführen von PowerShell- oder Shell-Skripten usw. sein.

1) Um eine Build-Definition zu erstellen, melden Sie sich bei der TFS-Weboberfläche an und wechseln Sie zur Registerkarte Builds. Klicken Sie auf +, um eine Build-Definition zu erstellen. Beginnen Sie mit einer LEEREN Definition und klicken Sie dann auf Weiter.

47 lokal laufende Website

Wählen Sie das Teamprojekt aus und klicken Sie auf Erstellen

49erstellen Sie einen Build

Klicken Sie auf Bearbeiten, das sich neben der leeren Definition befindet

51klicken Sie auf Bearbeiten

Speichern Sie die Build–Definition als etwas wie „Main Build“

53speichern Sie die Build–Definition

Da Sonarqube für die Codeanalyse verwendet wird, fügen Sie daher die 2 Sonar-Schritte „SonarQube Scanner für MSBuild – Begin Analysis“ und Aufgaben der Analyse.

Fügen Sie den Schritt Begin Analysis vor jedem MS Build oder Visual Studio Build hinzu. In diesem Schritt werden Details vom Sonarqube-Server abgerufen, um die Analyse zu konfigurieren.

Fügen Sie später einen Analyseschritt hinzu.

55Add Analyseschritt beenden

Die hinzugefügten Schritte sehen wie folgt aus, wobei der MS Build-Schritt dazwischen liegt.

Beginnen Sie, die Details von Sonarqube Server zu definieren. Definieren Sie den Endpunkt, an dem der Sonarqube-Server und die Authentifizierungsdetails hinzugefügt werden. Klicken Sie auf ‚Verwalten‘, um die Sonarqube-Serverdetails hinzuzufügen.

Klicken Sie auf ‚New Service Endpoint => Generic‘

57 New Service Endpoint-Generic

59 Generic

Kehren Sie nun zum Hauptbildschirm für die Build-Definition zurück und wählen Sie den gerade erstellten Endpunkt aus.

Abgeschlossene Konfiguration für die Analyse beginnt, sieht aus wie unten gezeigt

61 Wählen Sie den Endpunkt

Wählen Sie die Lösung. Geben Sie in den zusätzlichen Einstellungen Advanced => Folgendes ein und speichern Sie die Build-Definition

/d:sonar.scm.aktiviert = wahr / d: Sonar.scm.anbieter = tfvc / d: Sonar.tfvk.benutzername=niranjan /d:sonar.tfvk.Passwort.secured=<Passwort>

63speichern Sie die Build–Definition

SonarQube – End-Analyse. Beenden Sie die Analyse und laden Sie die Ergebnisse in das SonarQube-Projekt hoch.

65SonarQube – End Analysis

Fügen Sie einen Schritt hinzu, um Artefakte auf dem Server zu veröffentlichen. Die Artefakte werden in einem Drop-Ordner auf dem Server gespeichert und während der Bereitstellung verwendet.

67 Artefakte auf dem Server veröffentlichen

2) Installieren Sie den Agenten auf dem Build- und Bereitstellungscomputer. In meinem vorherigen Lernprogramm erfahren Sie, wie Sie den Agenten installieren. Angenommen, der Agent ist installiert, stellen Sie sicher, ob der Agent ausgeführt wird oder nicht.

69 Installieren Sie den Agenten auf dem Build- und Bereitstellungscomputer

3) Stellen Sie sicher, dass das SonarQube SCM TFVC-Plugin von hier heruntergeladen wurde. und in das Verzeichnis SonarQube installation \extensions\plugins kopiert. Dieses Plugin stellt sicher, dass der Quellcode aus dem TFS-Quellcodeverwaltungs-Repository stammt und SonarQube zur Codeanalyse zur Verfügung gestellt wird.

71 Das SonarQube SCM TFVC-Plugin wurde heruntergeladen

4) Starten Sie nach dem Herunterladen und Kopieren des Plugins den Sonarserver

73 Starten Sie den Sonarserver

5) Initiieren Sie einen Build, um zu überprüfen, ob die Schritte ordnungsgemäß funktionieren. Öffnen Sie die Build-Definition und klicken Sie auf ‚Queue Build‘

75Queue Build

Build erfolgreich. Alle Schritte liefen gut.

77Build Erfolgreich. Alle Schritte liefen gut.

Klicken Sie auf die Build-Nummer, in diesem Fall Build 217, und wechseln Sie zur Registerkarte Artefakte, um den auf Serverebene erstellten Drop-Ordner anzuzeigen.

79 Build 217-Registerkarte Artefakte

Hinweis: Im nächsten Abschnitt zeigt der Freigabeprozess, wie Änderungen während des gesamten Bereitstellungsprozesses berücksichtigt werden können. Stellen Sie dazu sicher, dass die Projektartefakte durch den Kopierschritt in der Builddefinition nach dem Kompilierungsschritt kopiert werden, oder kopieren Sie das Projektartefaktverzeichnis manuell in das Verzeichnis C:Verzeichnis \inetpub\wwwroot. Dies muss nur einmal erfolgen.

81wwwroot-Verzeichnis

Freigabe für die Bereitstellung erstellen

Im vorherigen Abschnitt haben wir über Build gesprochen, gefolgt von der Codeanalyse mit SonarQube. Wir werden nun eine Version erstellen, um die Artefakte aus dem Ordner ‚Drop‘ in IIS bereitzustellen.

Mit der Erstellung von Release erfolgt die gesamte Continuous Integration und Continuous Delivery automatisiert ohne manuelle Eingriffe.

Gehen Sie zum Release Hub und erstellen Sie eine Release-Definition.

83 Release-Hub und Erstellen Sie eine Release-Definition

Beginnen Sie mit einer leeren Definition und klicken Sie auf OK.

85 Leere Definition

Speichern Sie die Release-Definition und benennen Sie die Standardumgebung in QA um. Basierend auf den Projekten, zusätzliche Umgebungen wie Staging Pre-Prod etc. kann auch hinzugefügt werden und die Bereitstellung würde nacheinander für die gesamten Umgebungen automatisiert.

87 Speichern Sie die Release-Definition

Verknüpfen Sie die Build-Definition mit der Release-Definition, damit die Bereitstellung automatisiert wird. Klicken Sie auf ‚Link zu einer Build-Definition‘. Wählen Sie die zuvor erstellte Build-Definition aus.

89 Link zu einer Build-Definition

Klicken Sie auf Link

Aktivieren Sie die Bereitstellungsbedingung, um die Bereitstellung unmittelbar nach der Erstellung des Releases zu initiieren

91 Aktivieren Sie die Bereitstellungsbedingung

93 div>

Aktivieren Sie außerdem den Auslöser für die Bereitstellung, nachdem der Build erfolgreich war. Gehen Sie in der Release-Definition zur Registerkarte Trigger und aktivieren Sie ‚Continuous Deployment‘.

Speichern Sie später die Release-Definition.

95 Aktivieren Sie den Auslöser für die Bereitstellung

Fügen Sie auf der Registerkarte Umgebungen der Release-Definition die Aufgaben zum Bereitstellen der Artefakte auf dem IIS-Server hinzu.Fügen Sie eine Aufgabe hinzu, um Dateien aus dem Ordner ‚drop‘, die während des Erstellungsprozesses erstellt wurden, in das IIS wwwrootdirectory zu kopieren.

97fügen Sie eine Aufgabe hinzu, um Dateien aus dem Drop–Ordner zu kopieren

99 IIS wwwrootdirectory

Quellordner – Durchsuchen und wählen Sie das Webapplication1-Projekt im Drop-Ordner aus

101wählen Sie die Webapplication1

Zielordner sollte das Verzeichnis inetpub\wwwroot – C sein:\inetpub\wwwroot\WebApplication1

Release für Deployment ausführen

Erstellen Sie im Release Hub ein Release zum Starten des Deployments

103 Erstellen Sie ein Release zum Starten des Deployments

Wählen Sie den letzten stabilen Build aus und klicken Sie auf Erstellen, um das Deployment zu starten.

105letzter stabiler Build

Die Bereitstellung in der QA-Umgebung ist erfolgreich

107die Bereitstellung in der QA-Umgebung ist erfolgreich

Führen Sie inetmgr aus, den IIS-Manager, mit dem Sie alle in IIS installierten Websites / Anwendungen verwalten können. Navigieren Sie zur bereitgestellten Webanwendung.

109browser für die bereitgestellte Webanwendung

111die bereitgestellte Webanwendung

Zum Abschluss Sobald Sie den Build initiiert haben, wird die Bereitstellung auch für alle definierten Umgebungen abgeschlossen, da das Release mit der Build-Definition verknüpft ist.

Fazit

In diesem TFS-Tutorial haben wir nun gesehen, wie die Microsoft ALM-Plattform zur Automatisierung von Build, Test und Bereitstellung für .NET-Anwendungen verwendet werden kann. TFS spielt hier eine große Rolle.

Daher ist AUTOMATISIERUNG in der heutigen Welt der Schlüssel für eine erfolgreiche und schnellere Lieferung, um die Nase vorn zu haben.

Letzte Aktualisierung: 18.Februar 2021