Articles

TFS Tutorial: TFS för att automatisera bygga, testa och driftsättning för NET-projekt

använda Microsoft TFS 2015 Update-3 för NET (Build, Test och distribuera): TFS Tutorial

TFS är mer allmänt används för net utveckling med Visual Studio.Net IDE. Med TFS 2015 Update 3 kan man ansluta till någon Team Foundation Server Git repo, med hjälp av en SSH-nyckel.

Team Foundation Server (TFS) är en Alm-produkt från Microsoft som tillhandahåller kapacitet för en end-to-end-utveckling och testning med hjälp av Arbetsobjekthantering, projektplanering (vattenfall eller Scrum), versionskontroll, Bygg / släpp (distribuera) och testfunktioner.

OBS: Denna TFS-handledning har många bilder så att den kan laddas ordentligt.

Läs också => TFS för JAVA-projekt med Eclipse i DevOps

använda Microsoft TFS 2015 Uppdatering 3 för .NET (Build, Test and Deploy)

introduktion

TFS är skräddarsydd för Microsoft Visual Studio och Eclipse på alla plattformar, men det kan också användas som en back-end till flera IDEs (Integrated Development Environments).

Vi kommer nu att ta en titt på hur Team Foundation Server (TFS) kommer att användas för att bygga, testa och distribuera.Net webbapplikationer som traditionellt är styrkan i verktyget.

förutsättning:

  • Microsoft TFS 2015 Uppdatering 3
  • Microsoft Visual Studio. Net 2015 (30-dagars testversion)
  • SonarQube 6.4 eller högre
  • IIS webbserver aktiverad. Eftersom jag använder en Windows 7-ruta kan du kolla den här handledningen om hur du aktiverar IIS 7. Så här installerar du Internet Information Services (IIS 7) på Windows 7 Ultimate
  • Det finns flera YouTube-videor om hur du aktiverar IIS på Windows 2008 / 2012 / 2016.

vanligtvis för att utföra stegen som nämns i handledningen behöver du en Build-Server, där Builds kommer att utföras och Distributionsmaskiner eller miljöer där applikationer kommer att distribueras till IIS, med agenter installerade och körda. Se min tidigare handledning för att veta hur man installerar agenter.

Ställ in en C # – applikation

förutsatt att uppgiftsarbetsobjekt skapas i TFS och tilldelas utvecklarens att arbeta på samma. Jag har alltid märkt att spårbarhet är mycket viktigt med tanke på att spåra något arbete över programvarans livscykel.

innan du lägger till ett. NET-program i TFS source control repository ska du kontrollera om det finns ett samlings-och teamprojekt eller inte.

en samling skapas av TFS-administratören. Den består av en grupp teamprojekt i alla serviceorganisationer, där projekt för flera kunder genomförs. Du kan skapa enskilda samlingar för varje kundprojekt i TFS.

när en samling har skapats kan du skapa flera teamprojekt inom den. Ett enda lagprojekt består av alla arbetsobjekt, källkod, testartefakter, mätvärden för rapporter etc., Team project kan skapas med hjälp av olika inbyggda processmallar som Scrum, Agile, CMMI etc.

  • mer om att skapa samlingar finns @ Manage team project collections i Team Foundation Server
  • här kommer jag att använda Standardsamlingen som skapas när TFS har installerats
  • för att skapa teamprojekt i en samling, följ stegen som visas nedan.

1 Ställ in en C#-applikation

2 skapa teamprojekt

3 Ställ in en C#-applikation - Välj mall

4 Ställ in en C# - applikation-ange källkontroll

5ställ in en C# application-team project-inställning

6 Ställ in en C# application-team project creation

7 Ställ in en C# - applikation-nytt teamprojekt skapat.1

Starta TFS webbgränssnitt med webbadressenhttp://<ServerName>:port/tfs och du kan se det skapade projektet.

8. Projekt och team

klicka på projektet och du kommer vidare till Team Dashboard

(Obs: klicka på en bild för förstorad vy)

12. Mitt TFS-projekt.1

nu har vi skapat en samling och ett teamprojekt. Låt oss starta visuellt Studio.NET och skapa en ny C # webbapplikation och dela projektet till TFS source control repository. Detta är det första steget mot att etablera praxis för kontinuerlig Integration (CI).

1) Starta visuellt Studio.NET och ställ in TFS som standardkällkontrollförvaret. Gå till Tools => Options => källkontroll. Klicka sedan på OK.

starta visuellt Studio.NET

2) gå till View => Team Explorer och anslut till TFS – servern med ikonen16anslut till TFS-servern

17View-Team Explorer

3) Skapa en C# ASP.NET webbprojekt

19skapa en C# ASP.NET webbprojekt

21 skapa en C# ASP.NET webbprojekt

4) Eftersom vi skapar en webbapplikation väljer du webbformulärsmallen

23 Välj Webbformulärsmallen

klicka på OK för att skapa projektet.

5) det skapade projektet kan ses i Solution Explorer. . Net använder begreppet .sln-fil eller lösning för att innehålla alla projekt. När du öppnar lösningen öppnas också alla tillhörande projekt. Vi måste lägga till lösningen till TFS source control repository

25 projekt som skapats kan ses i Solution Explorer

6) ändra filen standard.aspx som visas, spara den och lägg sedan till hela lösningen i TFS-källkontrollförvaret

27file Default.aspx

Välj designvyn så kan du se hela sidan

29 Designvy

7) Lägg till lösningen i TFS-källkontrollen. Högerklicka på lösningen och välj ’Lägg till lösning i källkontroll’

31lägg till lösning i källkontroll

8) Välj Teamprojektet som skapats tidigare och klicka sedan på OK

33 Välj Teamprojektet

9) lösningen är ännu inte incheckad till TFS. I Team Explorer klickar du på source control explorer och du kan se lösningen som läggs till för att checkas in.

35source control explorer

10) Incheckningsändringar. Gå till Team Explorer => väntande ändringar

Ange en kommentar och dra-släpp ett uppgiftsarbete för att säkerställa spårbarhet. Klicka på Incheckningsknappen.

37 incheckning

39 väntande ändringar

41drag-släpp ett uppgiftsarbete för att säkerställa spårbarhet

11) för att testa webbplatsen som körs lokalt, klicka på Firefox-ikonen i Visual Studio.NET. kom ihåg att det ännu inte är utplacerat till IIS på någon speciell miljö.

43 Klicka på Firefox-ikonen i Visual Studio.NET

webbplats

skapa Byggdefinition med kodanalys

en byggdefinition består av en serie uppgifter som utförs under en automatiserad byggprocess. Exempel på uppgifterna kan bestå av att köra en Visual Studio Build, MS Build,exekvera PowerShell-eller skalskript etc.

1) för att skapa en Build Definition, logga in på TFS webbgränssnitt och gå till fliken bygger. Klicka på + för att skapa en byggdefinition. Börja med Tom definition och klicka sedan på Nästa.

47 webbplats som körs lokalt

Välj Teamprojektet och klicka på Skapa

49skapa en Build

klicka på Redigera, som finns bredvid den tomma definitionen

51klicka på Redigera

spara byggdefinitionen som något som”huvudbyggnad”

53spara byggdefinitionen

eftersom SonarQube kommer att användas för kodanalys, lägg därför till de 2 sonarstegen ”SonarQube – skanner för MSBuild – begin Analysis” och ” SonarQube-skanner för MSBuild-End Analysens uppgifter.

Lägg till begin Analysis-steget innan någon MS Build eller Visual Studio Build. Detta steg Hämtar detaljer från Sonarqube server för att konfigurera analysen.

Lägg till slutanalyssteg senare.

55add End Analysis step

stegen som läggs till kommer att se ut som följande med MS Build step däremellan.

börja definiera detaljerna för Sonarqube server. Definiera slutpunkt där Sonarqube-servern och autentiseringsinformationen läggs till. Klicka på ’Hantera’ för att lägga till Sonarqube-serverinformationen.

klicka på ’New Service Endpoint => Generic’

57 New Service Endpoint-Generic

59 Generic

gå nu tillbaka till huvudskärmen för Byggdefinition och välj slutpunkten som just skapades.

slutförd konfiguration för Begin-analys, ser ut som visas nedan

61 välj slutpunkten

Välj lösningen. I Advanced = > ytterligare inställningar anger du följande och sparar Byggdefinitionen

/d:sonar.scm.enabled = true / d: ekolod.scm.leverantör=tfvc / d:ekolod.tfvc.användarnamn = niranjan / d: ekolod.tfvc.lösenord.secured = <lösenord>

63spara Byggdefinitionen

SonarQube – End Analysis. Avsluta analysen och ladda sedan upp resultaten till SonarQube-projektet.

65SonarQube – End Analysis

Lägg till ett steg för att publicera artefakter till servern. Artefakterna lagras i en droppmapp på servern och kommer att användas under distribution.

67 publicera artefakter till servern

2) Installera agenten på Bygg-och Distributionsmaskinen. Du kan hänvisa till min tidigare handledning för att veta hur du installerar agenten. Nu antar att agenten är installerad, se till om agenten körs eller inte.

69 installera agenten på Bygg-och Distributionsmaskinen

3) Se till att SonarQube SCM tfvc-plugin laddas ner härifrån. och kopieras till SonarQube installation\extensions\plugins katalog. Denna plugin säkerställer att källkoden tas från TFS source control repository och görs tillgänglig för SonarQube för kodanalys.

71 SonarQube SCM tfvc plugin hämtas

4) Efter plugin hämtas och kopieras, starta sonar server

73 starta sonar server

5) initiera en Build för att kontrollera om stegen fungerar bra. Öppna Byggdefinitionen och klicka på ’Köbyggnad’

75Queue Build

Bygg framgångsrikt. Alla steg gick bra.

77bygga framgångsrik. Alla steg gick bra.

klicka på byggnumret, i det här fallet är det Build 217 och gå till fliken artefakter för att titta på droppmappen som skapats på servernivå.

79 Build 217-fliken artefakter

Obs: i nästa avsnitt release processen visar hur någon av ändringarna kan återspeglas under hela distributionsprocessen. För detta säkerställa att projektartefakterna kopieras genom KOPIERINGSSTEGET i byggdefinitionen efter kompileringssteget eller manuellt kopiera projektartefaktkatalogen till C:\ Inetpub \ wwwroot katalog. Detta måste bara göras en gång.

81wwwroot katalog

skapa Release för distribution

i föregående avsnitt såg vi om Build, följt av kodanalys med SonarQube. Vi skapar nu en Release för att distribuera artefakterna från mappen ’drop’ till IIS.

med skapandet av utgåvan automatiseras hela kontinuerlig Integration och kontinuerlig leverans utan manuell ingrepp.

gå till Release hub och skapa en Release Definition.

83 Release hub och skapa en Release Definition

börja med Tom definition och klicka på OK.

85 Tom definition

spara Release-definitionen och byt namn på Standardmiljön till QA. Baserat på projekten, ytterligare miljöer som Staging Pre-Prod etc. kan också läggas till och distribution skulle automatiseras till hela miljöer efter varandra.

87 spara Utgivningsdefinitionen

länka Byggdefinitionen till Släppdefinitionen så att utplaceringen är automatiserad. Klicka på ’länk till en build definition’. Välj den byggdefinition som skapats tidigare.

89 länk till en build definition

klicka på länken

Aktivera Distributionsvillkoret för att initiera distributionen omedelbart efter Utgivningsskapandet

91 aktivera distributionsvillkor

93 initiera Distributionsvillkoret deployment

Aktivera också utlösaren för distribution efter att byggnaden har lyckats. I Release definition, gå till fliken Trigger och aktivera ’kontinuerlig distribution’, välj build definition.

Spara senare Release-definitionen.

95 aktivera utlösaren för distribution

tillbaka i fliken miljöer i release-definitionen Lägg till uppgifterna för att distribuera artefakterna till IIS-servern.

Lägg till en uppgift att kopiera filer från ’drop’ mapp som skapats under byggprocessen till IIS wwwrootdirectory.

97lägg till en uppgift att kopiera filer från

99 IIS wwwrootdirectory

källmapp – bläddra och välj Webapplication1-projektet i droppmappen

101välj webapplication1

målmappen ska vara katalogen Inetpub\wwwroot-C:\Inetpub \ wwwroot \ WebApplication1

exekvera Release for Deployment

I release hub skapar du en release för att starta utplaceringen

103 skapa en release för att starta utplaceringen

välj den senaste stabila byggnaden och klicka på Skapa för att starta utplaceringen.

105last stabil build

distribution lyckas med QA-miljö

107deployment lyckas med QA-miljö

kör inetmgr som är IIS-hanteraren, där du kan hantera alla webbplatser/applikationer installerade i IIS. Bläddra till webbapplikationen distribuerad.

109bläddra till webbapplikationen utplacerad

111webapplikationen utplacerad

för att avsluta när du initierar byggnaden kommer distributionen också att slutföras till alla definierade miljöer, eftersom utgåvan är länkad till byggdefinitionen.

slutsats

i denna TFS-handledning har vi nu sett hur Microsoft ALM platform kan användas för att automatisera bygga, testa och distribuera för.NET-applikationer. TFS spelar en viktig roll här.

därför i dagens värld, AUTOMATION är nyckeln för framgångsrik och snabbare leverans för att ligga steget före.

Senast uppdaterad: 18 februari 2021