Azure DevOps Server | |
---|---|
Type | Versionsstyringssystem |
Udvikler | Microsoft |
Skrevet i | C++ |
Operativ system | Windows |
Første udgave | 2005 |
nyeste version | (2019) |
Stat | I aktiv udvikling |
Internet side | azure.microsoft.com/en-u… |
Azure DevOps Server (tidligere Team Foundation Server , forkortelse TFS) er et produkt fra Microsoft Corporation , som er en omfattende løsning, der kombinerer et versionskontrolsystem , dataindsamling, rapportering , sporing af projektstatusser og ændringer og designet til samarbejde om projekter på software udvikling . Produktet er tilgængeligt som en selvstændig applikation, der i funktion ligner cloud-tjenesten Azure DevOps Services (før 2019 kaldet Visual Studio Team Services , VSTS) [1] .
Team Foundation Server fungerer på en arkitektur med tre niveauer: klientlag , applikationsniveau og datalag . Klientlaget bruges til at oprette og administrere projekter og til at få adgang til lagrede og administrerede projektelementer. På dette niveau indeholder TFS ingen brugergrænseflader , men leverer webtjenester, der kan bruges af klientapplikationer til at integrere sig selv i TFS-funktionalitet. Disse webtjenester bruges af applikationer såsom Visual Studio Team System til at bruge TFS som en backend-lagringsinfrastruktur eller dedikeret TFS-applikationsadministration, såsom den inkluderede Team Foundation Client -applikation . Selve webtjenesterne er i applikationslaget . Applikationslaget inkluderer også en webportal og dokumentationsdepot (lager), der understøttes af Windows SharePoint Services . En webportal, kaldet Team Project Portal , fungerer som et knudepunkt for samarbejde for TFS-administrerede projekter. Dokumentlageret bruges både til projektelementer og til at spore revisioner (dokumentere ændringer), samt til at indsamle og behandle data og generere rapporter. Dataniveauet , der primært er baseret på den installerede SQL Server 2005 Standard Edition , leverer vedvarende datalagringstjenester til Document Repository. Datalaget og applikationsniveauet kan eksistere på forskellige fysiske eller virtuelle servere, når du bruger Windows Server 2003 eller nyere. Datalaget interagerer ikke direkte med klientlaget , kun gennem applikationslaget .
Det meste af handlingen i Team Foundation Server foregår med "arbejdselementer". Arbejdsemner er separate enheder (trin) af arbejde, der udføres på skift. I mange kilder er de identificeret med elementer af typen "fejl" (fejl) i fejlsporingssystemer som Bugzilla , det vil sige, i dette tilfælde har arbejdsemnet felterne Område (associeret område), Iteration (tilstand), Tildelt ( forbundet med), Rapporteret af (af hvem oprettet) for at angive relevant information, historik, vedhæftede filer samt mange andre attributter. Arbejdselementer i sig selv kan være af flere typer, såsom Fejl , Opgave , Kvalitetskrav , Scenario osv. Den valgte ramme for et givet projekt i Team Foundation Server bestemmer, hvilke typer arbejdselementer der vil være tilgængelige, og hvilke attributter hver af typerne vil har. Disse elementer gemmes internt i XML -format, og deres skema kan nemt ændres for at tilføje nye attributter til forskellige elementer eller oprette nye elementer på designbasis. Hvert arbejdsemne har passende kontrolmetoder, der bestemmer, hvilke elementer der er tilgængelige for hvem, og hvilke handlinger det kan udføre med dem (visning, redigering, oprettelse, sletning osv.). Det indebærer også brugen af meddelelser og muligheden for at logge for at spore historien om hele processen med at oprette, få adgang til et element eller ændre det (bestemt af rettigheder), og giver også mulighed for yderligere meddelelse til visse brugere, når visse hændelser opstår.
Enhver Team Foundation Server indeholder et eller flere Team Projects , bestående af Visual Studio-baserede løsninger, konfigurationsfiler til Team Build og Team Load Test Agents og et enkelt SharePoint-baseret lager, der indeholder projektrelateret dokumentation. Et samarbejdsprojekt omfatter tilpassede arbejdsemner, versioner (grene) af kildekoden, rapporter administreret af TFS. TFS giver mulighed for at styre disse projekter. Når du opretter et nyt projekt, skal du vælge en softwareudviklingsramme, som ikke kan ændres senere. TFS omfatter flere af de mest almindelige mønstre, herunder både agile og formelle udviklingsteknikker. Valg af ramme fylder projektet med foruddefinerede elementer, såsom roller og myndigheder, samt anden dokumentation, såsom en projektudviklingsstrategi (projektkøreplan), dokumentskabeloner, rapportskabeloner. Disse elementer kan knyttes til arbejdselementer. Status for visse projektelementer kan automatisk opdateres, når arbejdselementer ændres. TFS kan integreres med Microsoft Excel for at oprette og spore projektelementer. Status for elementerne i dette tilfælde kan specificeres og redigeres direkte i Excel, og de resulterende tabeller kan behandles af TFS, som vil importere data under hensyntagen til detaljerne ved styring af dette projekt. Derudover kan den også integreres med Microsoft Project (f.eks. Microsoft Project 2003, men ikke Project Server!) som projektstyringsklient. Projektelementer kan eksporteres som Excel-dokumenter til yderligere dataanalyse.
TFS selv indeholder ikke en brugergrænseflade til at udføre sådanne opgaver. Sådanne muligheder leveres gennem webtjenester, der bruges af klientapplikationer såsom Visual Studio Team System (VSTS) udviklingsmiljø . TFS inkluderer dog et Team Foundation Client (TFC) program, der kan bruges til at udføre disse opgaver uden VSTS. TFC håndterer også opkald til de tilsvarende webtjenester. TFS leverer en klient-API, der kan bruges af en klientapplikation til at få adgang til funktionalitet; API'en selv administrerer mellemliggende links for at etablere interaktioner med webtjenester, såsom caching på klientsiden for at reducere latens og overhead. WSDL -webservicebeskrivelsessproget understøttes også , hvis applikationen skal ringe direkte til webtjenester. Som en tilføjelse er Visual Studio Team System Web Access tilgængelig til lignende formål.
Team Foundation Server implementerer et kildekontrollager kaldet Team Foundation Version Control (TFVC). I modsætning til Microsofts tidligere kodekontrolløsning, Visual SourceSafe (VSS), som var baseret på en fillagringsmekanisme, gemmer Team Foundation al kode, samt en registrering af alle kodeændringer, i en database, der kører SQL Server. Funktioner såsom flere samtidige udtjekninger understøttes ( dvs. flere personer kan redigere den samme fil på samme tid), konfliktløsning, hylder (her mener vi at gemme et sæt af planlagte ændringer uden at forpligte dem til versionskontrol og andet brugere kan se disse sæt, men vil ikke være i stand til at få adgang til dem uden eksplicit givet tilladelse), forgrening og fletning og muligheden for at indstille adgangsniveauer (sikkerhed) på ethvert niveau af kildekodetræet sammen med de mest åbenlyse funktioner i dokumentation versionering, låse, rollbacks og atomic commits. Kildekodekontrolmekanismen er direkte relateret til Team System-arbejdselementer; I et check-in (ellers kendt som et "changeset") kan en udvikler definere forholdet mellem deres kode og et eller flere specifikke arbejdselementer for at angive, hvilke problemer check-in løser. TFS-administratorer kan håndhæve indtjekningspolitikker, der opfylder kravene til kodeanalyse, og de kan også håndhæve arbejdselementer, der er knyttet til en given kontrol, eller opdatere status for tilknyttede arbejdselementer (såsom at angive en fejl som "korrigeret", når de foretager ændringer i kode, der retter denne fejl). Separate versioner af filer kan markeres med specielle tags, og alle filer med de samme tags danner en udgivelsesgruppe. I modsætning til VSS understøtter TFS-kodekontrollageret ikke fastgørelse til et element fra flere steder i kildekodebiblioteksstrukturen, og det understøtter heller ikke "fastgørelse" af et element (dvs. understøttelse af forskellige links til den samme fil fra flere mapper for forskellige versioner for at undgå yderligere redigering af denne fil).
TFVC understøtter forgrening på alle niveauer af kildekode, såvel som for individuelle filer og mapper, hvor hver filial understøttes separat. Flere grene kan slås sammen til én med en indikation af rækkefølgen (algoritmen) til løsning af konflikter ved fletning af ændringer fra to grene af samme fil, så vil programmet selv automatisk afstemme forskellene eller markere dem til manuel verifikation, hvis det ikke selv kan klare med dem. En fletning kan også udføres på changeset-niveauet i stedet for filialniveauet. En vellykket fletning markeres automatisk (tjekket ud) i kodekontrollageret.
TFVC's muligheder er ikke begrænset til kildekode, men ved at indlejre Windows SharePoint Services- infrastrukturen giver den understøttelse af et bibliotek af versioner af projektdokumenter, herunder projektplaner, krav, projektspecifik analyse og andre. Alle dokumenter i kodekontrollageret kan knyttes til ethvert arbejdsemne, og adgangen til dem kan kontrolleres ved at indføre en adgangspolitik (begrænsning af rettigheder).
Rapportering er en anden kernekomponent i Team Foundation Server. Med den kan du oprette mange rapporter baseret på kombinationen af oplysninger om arbejdsemner, ændringssæt, oplysninger leveret af Team Build og testresultater fra testagenter. For eksempel kodeændringshastighed over tid, lister over fejl uden testtilfælde, gentagelser af tidligere beståede test osv. Rapporter oprettet med SQL Server Reporting Services kan eksporteres i flere forskellige formater, herunder Excel, XML , PDF og TIFF . Rapporter kan ses både i Visual Studio og via webportalen.
TFS bruger sin logningsramme til at automatisere dataindsamling. Logningsinfrastrukturen sporer og registrerer information om adgang og brug af arbejdselementer og kildekode, som derefter kan bruges af analysetjenester til at identificere tendenser. TFS på dataniveau indeholder en akkumuleringsadapter, der cacher data fra de underliggende normaliserede databaser i en bekvem form til analyse - tabeller eller dimensionstabeller. SQL Server Analysis Services bruges derefter til at analysere disse data, og der genereres rapporter. Rapporter kan dække flere arbejdsemner, herunder større fejlretninger, kodeændringer, byggevejledninger og mere. Andre analyseapplikationer kan også bruge data direkte leveret af webtjenester.
Baseret på projektfundamentet opretter TFS også et SharePoint-websted for projektet, som kan bruges til at spore projektets fremskridt, overvåge arbejdsemner og dokumenter, der leveres i projektbiblioteket. Du kan også se genererede rapporter på webstedet. TFS kan bruges som et kommunikationshub, det vil sige, at brugere tilknyttet et bestemt projekt kan bruge webstedet til at kommunikere eller interagere med hinanden. Kommentarer kan knyttes til forskellige elementer. For hvert projekt, afhængigt af dets egenskaber, bruger TFS foruddefinerede skabeloner, der er angivet ved oprettelse af webstedet. Disse skabeloner kan tilpasses (redigeres) af TFS-administratorer.
TFS giver support til mange tjenester, der kan bruges til at integrere med tredjepartsapplikationer såsom IDE'er og projektstyringssystemer . Linking -tjenesten tillod oprettelsen af løst koblede relationer mellem elementer, såsom fejlelementet og kildekodeversionerne forbundet med det. Sikkerhedstjenester gjorde det muligt at oprette sikkerhedsgrupper blandt brugere, som blev tildelt adgangsrettigheder. Klassifikationstjenesten sørgede for at definere politikker for automatisk klassificering af varer baseret på en række kriterier, og eventtjenesten tillod enhver komponent at udløse en begivenhed og en meddelelse i forbindelse med den begivenhed . Underretning kan ske enten ved at abonnere på en strøm af visse oplysninger eller via e-mail eller ved at ringe til andre webtjenester.
Team Build er en build-server, der følger med Team Foundation Server, som kan installeres på næsten enhver maskine, der understøtter Visual Studio. Maskiner konfigureret til Team Build kan bruges af udviklere til at færdiggøre builds af de fleste af de nyeste versioner af software, der bruges i kodekontrol. Registreringer af hver build opbevares, uanset om den lykkes eller mislykkes, så udviklere og build-administratorer kan spore et projekts fremskridt. Hvis buildet sker sekventielt, analyseres ændringerne i kildekoden siden den sidste vellykkede build, og opdateringen af arbejdsemnerne indikerer et vist fremskridt. For eksempel, hvis en tester starter et arbejdselement, der adresserer en specifik fejl i build #15, og en udvikler foretager ændringer lige før build #18 blev oprettet, så vil "bug"-elementet opdatere til en status, der indikerer, at fejlen er blevet fast. Testeren kan enten bekræfte eller afvise, at fejlen blev rettet.
Der er i øjeblikket to versioner af TeamBuild, hvor hver version svarer til den version af TFS, der installeres. De er dog ret nemme at sætte op.
TFSBuild.proj er filen, der administrerer TeamBuild. Team Build-sproget ligner MSBuild -sproget .
Projektledelsessoftware | |
---|---|
Desktop | |
Klient - server |
|
Webtjenester | |
Versionskontrolsystemer ( kategori ) | |
---|---|
Kun lokalt | |
Klient-server | |
Uddelt | |