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
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.
start de TFS – webinterface met behulp van de URL http://<ServerName>:port/tfs en u kunt het project aangemaakt zien.
klik op het project en u komt op het Team Dashboard
(opmerking: klik op een afbeelding voor vergrote weergave)
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.
2) Ga naar View => Team Explorer en sluit TFS server met behulp van het pictogram
3) Maak een C# ASP.NET Web project
4) aangezien we een webtoepassing maken, selecteert u 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
6) Wijzig het bestand standaard.aspx zoals getoond, sla het op en voeg de hele oplossing toe aan de TFS source control repository
Selecteer de ontwerpweergave en u kunt de hele pagina zien
7) Voeg de oplossing toe aan TFS-bronbeheer. Klik met de rechtermuisknop op de oplossing en selecteer ‘Add solution to Source Control’
8) Selecteer het eerder aangemaakte teamproject en klik vervolgens op OK
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.
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.
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.
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.
Selecteer het Team-Project en klik vervolgens op Aanmaken
Klik op Bewerken, die is te vinden naast het Lege definitie
Sla het bouwen definitie als iets als ‘Belangrijkste 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.
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 ‘
ga nu terug naar het Hoofdbestanddeeldefinitiescherm en selecteer het eindpunt dat zojuist is aangemaakt.
voltooide configuratie voor begin analyse, ziet er als volgt uit
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>
SonarQube – end Analysis. Voltooi de analyse en upload vervolgens de resultaten naar het SonarQube-project.
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.
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.
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.
4) Nadat de plugin is gedownload en gekopieerd, start u de sonar server
5) Start een Build om te controleren of de stappen goed werken. Open De Build definitie en klik op ‘Queue Build’
succesvol bouwen. 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.
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.
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.
begin met lege definitie en klik op OK.
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.
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.
klik op Link
Schakel de Implementatievoorwaarde in om de implementatie onmiddellijk na het maken van de Release te starten
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.
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.
bronmap – blader en selecteer het Webapplication1 – project in de map drop
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
Selecteer de laatste stabiele build en klik op Create om de implementatie te starten.
implementatie 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.
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