TFS Tutorial: TFS til automatisering af Build, Test og implementering til.NET-projekter
brug af Microsoft TFS 2015 Update-3 til. NET (Build, Test og Deploy): TFS Tutorial
TFS bruges mere til. NET-udvikling ved hjælp af Visual Studio. net IDE. Med TFS 2015 Update 3 kan man oprette forbindelse til enhver Team Foundation Server Git repo ved hjælp af en SSH-nøgle.Team Foundation Server (TFS) er et alm-produkt fra Microsoft, som giver mulighed for en end-to-end udvikling og test ved hjælp af arbejde element Management, projektplanlægning (vandfald eller Scrum), versionskontrol, Build/Release (Deploy) og test kapaciteter.
BEMÆRK: Denne TFS-tutorial har mange billeder, så lad den indlæses korrekt.
Læs også = > TFS til JAVA-projekter med Eclipse i DevOps
introduktion
TFS er skræddersyet til Microsoft Visual Studio og Eclipse på alle platforme, men det kan også bruges som back-end til flere ide ‘ er (Integrated Development Environments).
Vi vil nu se på, hvordan Team Foundation Server (TFS) vil blive brugt til at opbygge, teste og implementere.NET-applikationer, som traditionelt er værktøjets styrke.
forudsætning:
- Microsoft TFS 2015 opdatering 3
- Microsoft Visual Studio.net 2015 (30-dages prøveversion)
- Sonarkbe 6.4 eller derover
- IIS internetserver aktiveret. Da jeg bruger en Vinduer 7 boks kan du tjekke denne tutorial om, hvordan du aktiverer IIS 7. Sådan installeres Internet Information Services (IIS 7) På Vinduer 7 Ultimate
- Der er flere YouTube-videoer om, hvordan du aktiverer IIS på vinduer 2008 / 2012 / 2016.
typisk for at udføre de trin, der er nævnt i vejledningen, skal du bruge en Build-Server, hvor Builds vil blive udført, og Implementeringsmaskiner eller miljøer, hvor applikationer vil blive implementeret til IIS, med agenter installeret og kørende. Se min tidligere tutorial for at vide, hvordan du installerer agenter.
opsætning af et C# – Program
under forudsætning af, at OPGAVEARBEJDSPOSTER oprettes i TFS og tildeles udviklerens til at arbejde på det samme. Jeg har altid bemærket, at Sporbarhed er meget vigtig ud fra et synspunkt for at spore ethvert arbejde på tværs af programmets livscyklus.
før du tilføjer et.net-program til TFS source control repository, skal du sikre dig, om der findes et samlings-og teamprojekt eller ej.
en samling oprettes af TFS-administratoren. Den består af en gruppe teamprojekter i enhver serviceorganisation, hvor projekter for flere kunder udføres. Du kan oprette individuelle samlinger for hvert kundeprojekt i TFS.
når en samling er oprettet, kan du oprette flere teamprojekter inden for den. Et enkelt teamprojekt består af alle arbejdsemner, kildekode, testartefakter, målinger til rapporter osv., Teamprojekt kan oprettes ved hjælp af forskellige indbyggede processkabeloner som Scrum, Agile, CMMI osv.
- mere om oprettelse af samlinger kan findes @ Manage team project collections i Team Foundation Server
- her bruger jeg Standardsamlingen, der oprettes, når TFS er installeret
- for at oprette teamprojekt i en samling, følg trinene som vist nedenfor.
start TFS-interface ved hjælp af URL ‘ enhttp://<ServerName>:port/tfs og du kan se det oprettede projekt.
Klik på projektet, og du vil komme videre til Team Dashboard
(Bemærk: Klik på et billede for forstørret visning)
nu har vi oprettet en samling og et teamprojekt. Lad os starte Visual Studio.NET og opret en ny C# – applikation og del projektet til TFS source control repository. Dette er det første skridt i retning af at etablere Kontinuerlig Integration (CI) praksis.
1) Start visuel Studio.NET og sæt TFS som standard kilde kontrol repository. Gå til værktøjer => indstillinger => kildekontrol. Klik derefter på OK.
2) Gå til Vis => Teamstifinder og opret forbindelse til TFS – server ved hjælp af ikonet
3) Opret en C# ASP.NET projekt
Klik på OK for at oprette projektet.
5) det oprettede projekt kan ses i Løsningsudforsker. . Net bruger begrebet .sln fil eller løsning til at indeholde alle de projekter. Når du åbner løsningen, åbnes alle de tilknyttede projekter også. Vi er nødt til at tilføje løsningen til TFS source control repository
6) ændre filen standard.som vist, Gem det og tilføj derefter hele løsningen til TFS source control repository
7) Tilføj løsningen til TFS-kildekontrol. Højreklik på løsningen, og vælg ‘Tilføj løsning til kildekontrol’
8) Vælg det teamprojekt, der blev oprettet tidligere, og klik derefter på OK
9) løsningen er endnu ikke tjekket ind på TFS ‘ en. I Teamudforskeren skal du klikke på kildekontroludforskeren, og du kan se den løsning, der er tilføjet for at blive tjekket ind.
10) Check-in ændringer. Gå til Teamstifinder = > afventende ændringer
Indtast en kommentar, og træk-slip et OPGAVEARBEJDSELEMENT for at sikre sporbarhed. Klik på Check-In knappen.
11) for at teste hjemmesiden kører klik lokalt på ikonet i Visual Studio.NET. Husk, at det endnu ikke er implementeret til IIS på et bestemt miljø.
oprettelse af Byggedefinition med kodeanalyse
en byggedefinition består af en række opgaver, der udføres under en automatiseret byggeproces. Eksempler på opgaverne kan bestå af at køre en Visual Studio Build, MS Build, udføre Effektshell eller Shell scripts osv.
1) For at oprette en Build-Definition skal du logge ind på TFS-internetgrænsefladen og gå til fanen Builds. Klik på + for at oprette en build-definition. Start med Tom definition, og klik derefter på Næste.
Vælg Teamprojektet og klik på Opret
Klik på Rediger, som findes ved siden af den tomme definition
Gem build – definitionen som noget i retning af ‘Main build’
da sonar vil blive brugt til kodeanalyse, tilføj derfor de 2 sonartrin ‘sonar-scanner til MSBuild-begin-analyse’ og ‘sonar-scanneren til MSBuild-end Analyseopgaver.
Tilføj Begynd Analysetrinnet før MS Build eller Visual Studio Build. Dette trin henter detaljer fra Sonar-serveren for at konfigurere analysen.
Tilføj Slutanalysetrin senere.
de tilføjede trin vil se ud som følgende med MS Build-trin imellem.
begynd at definere detaljerne i sonar-serveren. Definer slutpunkt, hvor Sonarserveren og godkendelsesoplysningerne tilføjes. Klik på’ Administrer ‘ for at tilføje Sonarens serveroplysninger.
Klik på ‘Nyt Serviceendepunkt => generisk’
gå nu tilbage til hovedskærmbilledet til definition af Build og vælg endpoint, som netop blev oprettet.
afsluttet konfiguration til Begin-analyse, ser ud som vist nedenfor
Vælg løsningen. I Advanced = > yderligere indstillinger indtaste følgende og gemme Build Definition
/d:sonar.scm.aktiveret = sand / d: sonar.scm.udbyder=tfvc / d: sonar.tfvc.brugernavn=niranjan / d: sonar.tfvc.adgangskode.secured= <adgangskode>
Sonarkbe – end analyse. Afslut analysen, og upload derefter resultaterne til Sonarprojektet.
Tilføj et trin for at offentliggøre artefakter til serveren. Artefakterne gemmes i en drop-mappe på serveren og vil blive brugt under implementeringen.
2) Installer agenten på Build-og Implementeringsmaskinen. Du kan henvise til min tidligere tutorial for at vide, hvordan du installerer agenten. Hvis du antager, at agenten er installeret, skal du sikre dig, om agenten kører eller ej.
3) Sørg for, at Sonarkbe SCM TFVC plugin er hentet herfra. og kopieret til mappen installation \ udvidelser \ plugins. Dette plugin sikrer, at kildekoden er taget fra TFS source control repository og stilles til rådighed for sonar til kodeanalyse.
4) Når plugin er hentet og kopieret, skal du starte sonarserveren
5) Start en Build for at kontrollere, om trinene fungerer fint. Åbn Build Definition og klik på’kø Build’
Byg vellykket. Alle trin gik fint.
Klik på Build-nummeret, i dette tilfælde er det Build 217 og gå til fanen artefakter for at se på drop-mappen oprettet på serverniveau.
Bemærk: i det næste afsnit viser frigivelsesprocessen, hvordan ændringer kan afspejles i hele implementeringsprocessen. Til dette sikre, at projektet artefakter kopieres gennem kopiering trin i build definition efter kompilering trin eller manuelt kopiere projektet artefakt mappe til C:\inetpub \
oprettelse af frigivelse til implementering
i det foregående afsnit så vi om Build, efterfulgt af kodeanalyse ved hjælp af Sonarkbe. Vi vil nu oprette en udgivelse for at implementere artefakterne fra ‘drop’ – mappen til IIS.
med oprettelsen af frigivelse automatiseres hele Kontinuerlig Integration og kontinuerlig levering uden manuel indgriben.
gå til Release hub og oprette en Release Definition.
Start med Tom definition og klik på OK.
Gem Udgivelsesdefinitionen og omdøb Standardmiljøet til kvalitetssikring. Baseret på projekterne, yderligere miljøer som iscenesættelse Pre-Prod osv. kan også tilføjes og implementering ville blive automatiseret til hele miljøer ene efter den anden.
Link Build-definitionen for at frigive definitionen, så implementeringen er automatiseret. Klik på ‘Link til en build definition’. Vælg den build-definition, der blev oprettet tidligere.
Klik på Link
aktiver Implementeringsbetingelsen for at starte implementeringen umiddelbart efter Udgivelsesoprettelsen
aktiver også udløseren til implementering, når bygningen er vellykket. I Udgivelsesdefinitionen skal du gå til fanen Trigger og aktivere ‘kontinuerlig implementering’, vælg build-definitionen.
Gem senere Udgivelsesdefinitionen.
Tilbage i fanen miljøer i udgivelsesdefinitionen Tilføj opgaverne til at implementere artefakterne til IIS-serveren.
Tilføj en opgave for at kopiere filer fra’ drop ‘ mappe oprettet under byggeprocessen til IIS.
kildemappe-gennemse og vælg Internetapplication1-projektet i drop-mappen
målmappen skal være Inetpub ‘ en:1
udførelse af frigivelse til implementering
Opret en udgivelse for at starte implementeringen
Vælg den sidste stabile build, og klik på Opret for at starte implementeringen.
implementering er vellykket til KVALITETSMILJØ
Kør inetmgr, som er IIS-manager, hvor du kan administrere alle de hjemmesider / applikationer, der er installeret til IIS. Gå til den anvendte internetapplikation.
for at afslutte, når du starter Build, vil implementeringen også blive afsluttet til alle de definerede miljøer, da udgivelsen er knyttet til build-definitionen.
konklusion
i denne TFS-tutorial har vi nu set, hvordan Microsoft ALM-platform kan bruges til automatisering af Build, Test og implementering til.NET-applikationer. TFS spiller en stor rolle her.
derfor er automatisering i dagens verden nøglen til en vellykket og hurtigere levering for at være foran.
sidst opdateret: 18. februar 2021