Articles

TFS-Tutorial: TFS voor het automatiseren van bouwen, testen en implementeren van.Net-projecten

met behulp van Microsoft TFS 2015 Update-3 voor. net (bouwen, testen en implementeren): TFS-Tutorial

TFS wordt meer gebruikt voor. net-ontwikkeling met behulp van Visual Studio. NET IDE. Met TFS 2015 Update 3, kan men verbinding maken met elke Team Foundation Server Git repo, met behulp van een SSH sleutel.

Team Foundation Server (TFS) is een ALM-product van Microsoft dat de mogelijkheden biedt voor een end-to-end ontwikkeling en testen met behulp van Werkitembeheer, projectplanning (Waterfall of Scrum), versiebeheer, Build / Release (Deploy) en testmogelijkheden.

opmerking: Deze TFS-tutorial heeft veel afbeeldingen, dus laat het goed Laden.

Lees ook = > TFS voor JAVA-projecten met Eclipse in DevOps

met Microsoft TFS 2015 Update 3 voor .NET (Build, Test and Deploy)

introductie

TFS is op alle platforms afgestemd voor Microsoft Visual Studio en Eclipse, maar het kan ook worden gebruikt als back-end voor verschillende IDEs (Integrated Development Environments).

We zullen nu bekijken hoe Team Foundation Server (TFS) zal worden gebruikt voor het bouwen, testen en implementeren van.NET Web applicaties die traditioneel de kracht van het gereedschap is.

vereisten:

  • Microsoft TFS 2015 Update 3
  • Microsoft Visual Studio. NET 2015 (proefversie van 30 dagen)
  • SonarQube 6.4 of hoger
  • IIS-webserver ingeschakeld. Aangezien ik gebruik maak van een Windows 7 vak kunt u deze zelfstudie over het inschakelen van IIS 7. Internet Information Services (IIS 7) installeren op Windows 7 Ultimate
  • Er zijn verschillende YouTube-video ‘ s over het inschakelen van IIS op Windows 2008 / 2012 / 2016.

om de stappen uit te voeren die in de tutorial worden genoemd, hebt u een Build-Server nodig, waar Builds worden uitgevoerd, en Implementatiemachines of-omgevingen waar applicaties worden geïmplementeerd in IIS, met geïnstalleerde en draaiende agents. Raadpleeg mijn eerdere tutorial om te weten hoe je agenten te installeren.

een C# – toepassing instellen

aangenomen dat TAAKWERKITEMS in TFS worden aangemaakt en aan ontwikkelaars worden toegewezen om aan hetzelfde te werken. Ik heb altijd gemerkt dat traceerbaarheid erg belangrijk is vanuit het oogpunt van het volgen van elk werk gedurende de hele levenscyclus van de software.

voordat u een.net-toepassing toevoegt aan TFS bronbeheer repository, moet u controleren of er al dan niet een collectie-en teamproject bestaat.

Een verzameling wordt gemaakt door de TFS-beheerder. Het bestaat uit een groep teamprojecten in elke serviceorganisatie, waar projecten voor meerdere klanten worden uitgevoerd. U kunt individuele collecties maken voor elk klantproject in TFS.

zodra een verzameling is gemaakt, kunt u meerdere teamprojecten binnen deze collectie maken. Een enkel team project bestaat uit alle werk items, broncode, test artefacten, metrics voor rapporten etc., Team project kan worden gemaakt met behulp van verschillende ingebouwde proces templates zoals Scrum, Agile, CMMI etc.

  • meer over het maken van collecties kunt u vinden @ Team project collecties beheren in Team Foundation Server
  • Hier zal ik de standaard collectie gebruiken die wordt aangemaakt zodra TFS is geïnstalleerd
  • om team project te maken binnen een collectie, volg de stappen zoals hieronder getoond.

1 Setup een C# Applicatie -

2 team project

3 Setup een C# Applicatie-selecteer sjabloon

4 Instellen van een C# Toepassing-Geef source control

5Setup een C# Applicatie - team project-instelling

6 Instellen van een C# Applicatie - Team-project maken

7 Setup een C# Applicatie-nieuwe team-project is gemaakt.1

start de TFS – webinterface met behulp van de URL http://<ServerName>:port/tfs en u kunt het project aangemaakt zien.

8. Projecten en teams

klik op het project en u komt op het Team Dashboard

(opmerking: klik op een afbeelding voor vergrote weergave)

12. Mijn TFS project.1

nu hebben we een verzameling en een teamproject gemaakt. Laten we visueel starten Studio.NET en maak een nieuwe C # webapplicatie aan en deel het project met TFS source control repository. Dit is de eerste stap op weg naar een continue integratie (CI) praktijk.

1) visueel opstarten Studio.NET en stel TFS als de standaard bron controle repository. Ga naar Tools = > Options => Broncontrole. Dan klikken OK.

Start Visual Studio.NET

2) Ga naar View => Team Explorer en sluit TFS server met behulp van het pictogram16connect TFS server

17View - Team Explorer

3) Maak een C# ASP.NET Web project

19 creëer een C# ASP.NET webproject

21 Maak een C# ASP.NET webproject

4) aangezien we een webtoepassing maken, selecteert u het web formuliersjabloon

23 Selecteer het web formuliersjabloon

klik op OK om het project aan te maken.

5) Het aangemaakt project kan worden bekeken in Solution Explorer. . Net gebruikt het concept van .sln-bestand of oplossing om alle projecten te bevatten. Zodra u de oplossing opent, worden alle bijbehorende projecten ook geopend. We moeten de oplossing toevoegen aan de TFS source control repository

25 Project aangemaakt kan worden bekeken in Solution Explorer

6) Wijzig het bestand standaard.aspx zoals getoond, sla het op en voeg de hele oplossing toe aan de TFS source control repository

27bestand standaard.aspx

Selecteer de ontwerpweergave en u kunt de hele pagina zien

29 ontwerpweergave

7) Voeg de oplossing toe aan TFS-bronbeheer. Klik met de rechtermuisknop op de oplossing en selecteer ‘Add solution to Source Control’

31Add solution to Source Control

8) Selecteer het eerder aangemaakte teamproject en klik vervolgens op OK

33 Selecteer het teamproject

9) de oplossing is nog niet ingecheckt in de TFS. In de Team Explorer klik op de Source control explorer en u kunt de oplossing toegevoegd om te worden gecontroleerd in te zien.

35source control explorer

10) Wijzigingen in het inchecken. Ga naar Team Explorer = > In afwachting van wijzigingen

voer een opmerking in en sleep een TAAKWERKITEM om traceerbaarheid te garanderen. Klik op de Check-in knop.

37 Check-in

39 Pending Changes

41drag-drop a TASK work item to ensure traceability

11) om de website die lokaal wordt uitgevoerd te testen, klik op het Firefox-icoon in visueel Studio.NET. vergeet niet dat het nog niet is geïmplementeerd in IIS op een bepaalde omgeving.

43 Klik op het Firefox-pictogram in Visual Studio.NET

website

Bouwdefinitie maken met Code-analyse

een bouwdefinitie bestaat uit een reeks taken die tijdens een geautomatiseerd bouwproces worden uitgevoerd. Voorbeelden van de taken kunnen bestaan uit het uitvoeren van een Visual Studio Build, MS Build, het uitvoeren van PowerShell of Shell scripts etc.

1) om een Build definitie te maken, log in op TFS webinterface en ga naar het Builds tabblad. Klik op + om een build definitie te maken. Begin met lege definitie en klik vervolgens op Volgende.

47 website lokaal wordt uitgevoerd

Selecteer het Team-Project en klik vervolgens op Aanmaken

49create een Build

Klik op Bewerken, die is te vinden naast het Lege definitie

51Click op Bewerken

Sla het bouwen definitie als iets als ‘Belangrijkste Bouwen’

53Save de definitie bouwen

Sinds Sonarqube zal worden gebruikt voor Code-analyse vandaar voeg de 2 Sonar stappen ‘SonarQube Scanner voor MSBuild – Beginnen-Analyse’ en de ‘SonarQube Scanner voor MSBuild – Einde Taken van de analyse.

voeg de begin-analyse-stap toe voordat een MS-Build of Visual Studio-Build plaatsvindt. Deze stap haalt details van Sonarqube server om de analyse te configureren.

voeg eindanalyse stap later.

55Add end Analysis step

de toegevoegde stappen zullen er als volgt uitzien met MS Build step ertussen.

begin met het definiëren van de details van de Sonarqube-server. Definieer eindpunt waar de Sonarqube server en authenticatie details worden toegevoegd. Klik op’ Beheren ‘ om de SonarQube server details toe te voegen.

klik op ‘New Service Endpoint = > Generic ‘

57 New Service Endpoint-Generic

59 Generic

ga nu terug naar het Hoofdbestanddeeldefinitiescherm en selecteer het eindpunt dat zojuist is aangemaakt.

voltooide configuratie voor begin analyse, ziet er als volgt uit

61 selecteer het eindpunt

Selecteer de oplossing. In de Advanced = > aanvullende instellingen voer het volgende in en sla de Build definitie

/ d op:sonar.scm.enabled = true / d:sonar.scm.provider = tfvc / d: sonar.tfvc.gebruikersnaam = niranjan/d: sonar.tfvc.wachtwoord.secured = <password>

63save the Build Definition

SonarQube – end Analysis. Voltooi de analyse en upload vervolgens de resultaten naar het SonarQube-project.

65SonarQube – end Analysis

voeg een stap toe om artefacten aan de server te publiceren. De artefacten worden opgeslagen in een drop-map op de server en worden gebruikt tijdens de implementatie.

67 Publiceer artefacten naar de server

2) installeer de agent op de Build-en Deployment machine. U kunt verwijzen naar mijn vorige tutorial om te weten hoe de agent te installeren. Nu ervan uitgaande dat de agent is geïnstalleerd, zorg ervoor dat de agent draait of niet.

69 installeer de agent op de Build and Deployment machine

3) Zorg ervoor dat de SonarQube SCM tfvc plugin wordt gedownload vanaf hier. en gekopieerd naar de SonarQube installatie\extensions \ plugins directory. Deze plugin zorgt ervoor dat de broncode uit de TFS source control repository wordt gehaald en beschikbaar wordt gesteld aan SonarQube voor code analyse.

71 SonarQube SCM tfvc plugin is gedownload

4) Nadat de plugin is gedownload en gekopieerd, start u de sonar server

73 start de sonar server

5) Start een Build om te controleren of de stappen goed werken. Open De Build definitie en klik op ‘Queue Build’

75Queue Build

succesvol bouwen. Alle trappen liepen prima.

77Build succesvol. Alle trappen liepen prima.

klik op het Build-nummer, in dit geval is het Build 217 en ga naar het tabblad artefacten om de drop-map te bekijken die op serverniveau is gemaakt.

79 Build 217-artefacten tab

opmerking: in de volgende paragraaf laat het vrijgaveproces zien hoe wijzigingen kunnen worden weergegeven tijdens het implementatieproces. Voor dit Zorg ervoor dat de project artefacten worden gekopieerd door de kopie stap in de build definitie na compilatie stap of handmatig kopiëren van de project artefact directory naar de C:\inetpub \ wwwroot directory. Dit hoeft maar één keer te gebeuren.

81wwwroot directory

Release aanmaken voor implementatie

In de vorige paragraaf zagen we about Build, gevolgd door code analyse met behulp van SonarQube. We zullen nu een Release maken om de artefacten uit de ‘drop’ – map naar IIS te implementeren.

met de creatie van Release wordt de volledige continue integratie en continue levering geautomatiseerd zonder enige handmatige tussenkomst.

Ga naar Release hub en maak een Release definitie.

83 Release hub en maak een Release definitie

begin met lege definitie en klik op OK.

85 lege definitie

sla de Release-definitie op en hernoem de standaardomgeving naar QA. Op basis van de projecten, extra omgevingen zoals Staging Pre-Prod etc. kan ook worden toegevoegd en de implementatie zou worden geautomatiseerd om de hele omgevingen een na de andere.

87 sla de Release-definitie op

Koppel de Build-definitie aan de Release-definitie zodat de implementatie geautomatiseerd is. Klik op ‘Link naar een build definitie’. Selecteer de bouwdefinitie die eerder is gemaakt.

89 Link naar een build definitie

klik op Link

Schakel de Implementatievoorwaarde in om de implementatie onmiddellijk na het maken van de Release te starten

91 Schakel de Implementatievoorwaarde in

93 start de implementatie

activeer ook de trigger voor implementatie nadat de build succesvol is. Ga In de Release definitie naar het tabblad Trigger en schakel ‘Continuous Deployment’ in, selecteer de build definitie.

sla Later de Release definitie op.

95 Activeer de Trigger voor implementatie

terug in omgevingen tabblad van de release definitie voeg de taken toe om de artefacten op de IIS-server te implementeren.

voeg een taak toe om bestanden te kopiëren uit de ‘drop’ – map die tijdens het bouwproces is gemaakt naar de IIS wwwrootdirectory.

97toevoegen van een taak om bestanden te kopiëren uit de map 'drop'

99 IIS wwwrootdirectory

bronmap – blader en selecteer het Webapplication1 – project in de map drop

101selecteer de webapplicatie1

doelmap moet de map inetpub\wwwroot-C zijn:\inetpub \ wwwroot \ WebApplication1

Release voor implementatie uitvoeren

in de release hub, create a release to start the deployment

103 create a release to start the deployment

Selecteer de laatste stabiele build en klik op Create om de implementatie te starten.

105last stable build

implementatie is succesvol in QA-omgeving

107Deployment is succesvol in QA-omgeving

Run inetmgr, de IIS-beheerder, waar u alle websites/toepassingen die op IIS zijn geïnstalleerd kunt beheren. Blader naar de webapplicatie geïmplementeerd.

109Browse naar de webtoepassing geïmplementeerd

111de webtoepassing geïmplementeerd

om te concluderen dat zodra u de Build start, de implementatie ook zal worden voltooid in alle gedefinieerde omgevingen, aangezien de Release is gekoppeld aan de build definitie.

conclusie

in deze TFS-tutorial hebben we nu gezien hoe Microsoft Alm-platform kan worden gebruikt voor het automatiseren van Build, Test en implementatie voor.net-toepassingen. TFS speelt hier een belangrijke rol.

daarom is automatisering in de wereld van vandaag de sleutel voor een succesvolle en snellere levering om voorop te blijven.

laatst bijgewerkt: 18 februari 2021