Azure DevOps Server

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 22 augusti 2019; kontroller kräver 2 redigeringar .
Azure DevOps Server
Sorts Versionskontrollsystem
Utvecklaren Microsoft
Skrivet i C++
Operativ system Windows
Första upplagan 2005
senaste versionen (2019)
stat I aktiv utveckling
Hemsida azure.microsoft.com/en-u...

Azure DevOps Server (tidigare Team Foundation Server , förkortning TFS) är en produkt från Microsoft Corporation , som är en heltäckande lösning som kombinerar ett versionskontrollsystem , datainsamling, rapportering , spårning av projektstatus och förändringar och designad för samarbete i projekt på programvara utveckling . Produkten är tillgänglig som en fristående applikation som till sin funktion liknar molntjänsten Azure DevOps Services (före 2019 kallad Visual Studio Team Services , VSTS) [1] .

Arkitektur

Team Foundation Server arbetar på en arkitektur i tre nivåer: klientnivå , applikationsnivå och datanivå . Klientlagret används för att skapa och hantera projekt och för att komma åt lagrade och hanterade projektobjekt. På den här nivån innehåller TFS inga användargränssnitt utan tillhandahåller webbtjänster som kan användas av klientapplikationer för att integrera sig i TFS-funktionalitet. Dessa webbtjänster används av applikationer som Visual Studio Team System för att använda TFS som en backend-lagringsinfrastruktur eller dedikerad TFS-applikationshantering, såsom den medföljande Team Foundation Client- applikationen . Själva webbtjänsterna finns i applikationslagret . Applikationsskiktet innehåller också en webbportal och dokumentationsarkiv (repository) som stöds av Windows SharePoint Services . En webbportal, kallad Team Project Portal , fungerar som ett nav för samarbete för TFS-hanterade projekt. Dokumentförrådet används både för projektelement och för att spåra revisioner (dokumentera ändringar), samt för att samla in och bearbeta data och generera rapporter. Datanivån , huvudsakligen baserad på den installerade SQL Server 2005 Standard Edition , tillhandahåller beständiga datalagringstjänster för Document Repository. Datanivån och programnivån kan finnas på olika fysiska eller virtuella servrar när du använder Windows Server 2003 eller högre. Datalagret interagerar inte direkt med klientlagret , bara genom programlagret .

Det mesta av handlingen i Team Foundation Server sker med "arbetsobjekt". Arbetsposter är separata enheter (steg) av arbete som utförs i tur och ordning. I många källor identifieras de med element av typen "error" (bugg) i buggspårningssystem som Bugzilla , det vill säga i det här fallet har arbetsobjektet fälten Area (associerat område), Iteration (state), Assignee ( associerad med), Rapporterad av (av vem skapad) för att indikera relevant information, historik, bifogade filer, såväl som många andra attribut. Arbetsobjekt i sig kan vara av flera typer, såsom Error , Task , Quality Requirement , Scenario , etc. Ramverket som väljs för ett givet projekt i Team Foundation Server avgör vilka typer av arbetsobjekt som kommer att vara tillgängliga och vilka attribut var och en av typerna kommer att ha. Dessa element lagras internt i XML -format, och deras schema kan enkelt modifieras för att lägga till nya attribut till olika element eller skapa nya element på designbasis. Varje arbetsobjekt har lämpliga kontrollmetoder som avgör vilka objekt som är tillgängliga för vem och vilka åtgärder den kan utföra med dem (visa, redigera, skapa, ta bort, etc.). Det innebär också användning av meddelanden och möjligheten att logga för att spåra historiken för hela processen för att skapa, komma åt ett element eller ändra det (bestäms av rättigheter), och tillhandahåller även ytterligare meddelanden till vissa användare när vissa händelser inträffar.

Varje Team Foundation Server innehåller ett eller flera Team Projects , bestående av Visual Studio-baserade lösningar, konfigurationsfiler för Team Build och Team Load Test Agents, och ett enda SharePoint-baserat arkiv som innehåller projektrelaterad dokumentation. Ett samarbetsprojekt inkluderar anpassade arbetsobjekt, versioner (grenar) av källkod, rapporter som hanteras av TFS. TFS ger möjlighet att hantera dessa projekt. När du skapar ett nytt projekt måste du välja ett ramverk för mjukvaruutveckling som inte kan ändras senare. TFS innehåller flera av de vanligaste mönstren, inklusive både agila och formella utvecklingstekniker. Att välja ramverk fyller projektet med fördefinierade element, såsom roller och befogenheter, samt annan dokumentation, såsom en projektutvecklingsstrategi (projektfärdplan), dokumentmallar, rapportmallar. Dessa objekt kan associeras med arbetsobjekt. Statusen för vissa projektobjekt kan uppdateras automatiskt när arbetsobjekt ändras. TFS kan integreras med Microsoft Excel för att skapa och spåra projektobjekt. Statusen för elementen i detta fall kan specificeras och redigeras direkt i Excel, och de resulterande tabellerna kan bearbetas av TFS, som kommer att importera data med hänsyn till detaljerna för att hantera detta projekt. Dessutom kan den också integreras med Microsoft Project (till exempel Microsoft Project 2003, men inte Project Server!) som en projektledningsklient. Projektelement kan exporteras som Excel-dokument för vidare dataanalys.

TFS i sig innehåller inget användargränssnitt för att utföra sådana uppgifter. Sådana funktioner tillhandahålls genom webbtjänster som används av klientapplikationer som Visual Studio Team System (VSTS) utvecklingsmiljö . TFS innehåller dock ett Team Foundation Client -program (TFC) som kan användas för att slutföra dessa uppgifter utan VSTS. TFC hanterar även samtal till motsvarande webbtjänster. TFS tillhandahåller ett klient-API som kan användas av en klientapplikation för att komma åt funktionalitet; API:et hanterar själv mellanliggande länkar för att upprätta interaktioner med webbtjänster, såsom cachelagring på klientsidan för att minska latens och overhead. WSDL -webbtjänstbeskrivningsspråket stöds också om applikationen behöver anropa webbtjänster direkt. Som ett tillägg är Visual Studio Team System Web Access tillgängligt för liknande ändamål.

Källkontroll

Team Foundation Server implementerar ett källkontrolllager som heter Team Foundation Version Control (TFVC). Till skillnad från Microsofts tidigare kodkontrolllösning, Visual SourceSafe (VSS), som baserades på en fillagringsmekanism, lagrar Team Foundation all kod, samt en registrering av alla kodändringar, i en databas som kör SQL Server. Funktioner som flera samtidiga utcheckningar stöds ( det vill säga flera personer kan redigera samma fil samtidigt), konfliktlösning, hyllor (här menar vi att spara en uppsättning planerade ändringar utan att binda dem till versionskontroll och annat användare kan se dessa uppsättningar, men kommer inte att kunna komma åt dem utan uttryckligt tillstånd), förgrening och sammanslagning, och möjligheten att ställa in åtkomstnivåer (säkerhet) på vilken nivå som helst i källkodsträdet, tillsammans med de mest uppenbara funktionerna i versionshantering av dokumentation, låsningar, återställningar och atomära åtaganden. Källkodskontrollmekanismen är direkt relaterad till Team System-arbetsobjekt; I en incheckning (annan känd som en "ändringsuppsättning") kan en utvecklare definiera förhållandet mellan sin kod och en eller flera specifika arbetsobjekt för att indikera vilka problem som incheckningen löser. TFS-administratörer kan genomdriva incheckningspolicyer som uppfyller kodanalyskraven, och de kan också genomdriva arbetsobjekt som är kopplade till en given kontroll, eller uppdatera statusen för associerade arbetsobjekt (som att ange ett fel som "korrigerat" när du gör ändringar i kod som korrigerar detta fel). Separata versioner av filer kan markeras med speciella taggar, och alla filer med samma taggar bildar en releasegrupp. Till skillnad från VSS, stöder inte TFS-kodkontrollförrådet pinning till ett element från flera platser i källkodskatalogstrukturen, och det stöder inte heller "pinning" av ett element (det vill säga stödja olika länkar till samma fil från flera kataloger för olika versioner för att undvika ytterligare redigering av denna fil).

TFVC stöder förgrening på alla nivåer av källkod, såväl som för enskilda filer och kataloger, med varje filial som stöds separat. Flera grenar kan slås samman till en med en indikation på ordningen (algoritmen) för att lösa konflikter vid sammanslagning av ändringar från två grenar av samma fil, sedan kommer själva programmet automatiskt att stämma av skillnaderna eller markera dem för manuell verifiering om det inte själv klarar av med dem. En sammanslagning kan också göras på ändringsuppsättningsnivå istället för grennivå. En lyckad sammanslagning markeras automatiskt (utcheckad) i kodkontrollförrådet.

TFVC:s möjligheter är inte begränsade till källkod, men genom att bädda in Windows SharePoint Services- infrastrukturen ger den stöd för ett bibliotek med versioner av projektdokument, inklusive projektplaner, krav, projektspecifik analys och annat. Alla dokument i kodkontrollförrådet kan associeras med vilket arbetsobjekt som helst, och åtkomst till dem kan kontrolleras genom att införa en åtkomstpolicy (rättighetsbegränsning).

Rapportering

Rapportering är en annan kärnkomponent i Team Foundation Server. Med den kan du skapa många rapporter baserat på kombinationen av information om arbetsobjekt, ändringsuppsättningar, information som tillhandahålls av Team Build och testresultat från testagenter. Till exempel kodändringshastighet över tid, listor över buggar utan testfall, upprepningar av tidigare godkända test, etc. Rapporter skapade med SQL Server Reporting Services kan exporteras i flera olika format, inklusive Excel, XML , PDF och TIFF . Rapporter kan ses både med Visual Studio och via webbportalen.

TFS använder sitt loggningsramverk för att automatisera datainsamling. Loggningsinfrastrukturen spårar och registrerar information om åtkomst och användning av arbetsobjekt och källkod, som sedan kan användas av analystjänster för att identifiera trender. TFS på datanivå innehåller en ackumuleringsadapter som cachar data från de underliggande normaliserade databaserna i en bekväm form för analys - tabeller eller dimensionstabeller. SQL Server Analysis Services används sedan för att analysera denna data och rapporter genereras. Rapporter kan täcka flera arbetsobjekt, inklusive större bugganvisningar, kodändringar, bygganvisningar och mer. Andra analysapplikationer kan också använda data som tillhandahålls direkt av webbtjänster.

Projektportal

Baserat på projektets grund skapar TFS också en SharePoint-webbplats för projektet, som kan användas för att spåra projektets framsteg, övervaka arbetsobjekt och dokument som tillhandahålls i projektbiblioteket. Du kan också se genererade rapporter på webbplatsen. TFS kan användas som ett kommunikationsnav, det vill säga användare som är associerade med ett visst projekt kan använda webbplatsen för att kommunicera eller interagera med varandra. Kommentarer kan kopplas till olika element. För varje projekt, beroende på dess egenskaper, använder TFS fördefinierade mallar som anges när webbplatsen skapas. Dessa mallar kan anpassas (redigeras) av TFS-administratörer.

delade tjänster

TFS tillhandahåller stöd för många tjänster som kan användas för att integrera med tredjepartsapplikationer som IDE:er och projektledningssystem . Länktjänsten möjliggjorde skapandet av löst kopplade relationer mellan element, såsom buggelementet och källkodsversionerna som är associerade med det. Säkerhetstjänster gjorde det möjligt att skapa säkerhetsgrupper bland användare, som tilldelades åtkomsträttigheter. Klassificeringstjänsten gjorde det möjligt att definiera policyer för att automatiskt klassificera föremål baserat på en mängd olika kriterier, och eventtjänsten tillät vilken komponent som helst att utlösa en händelse och en avisering kopplad till den händelsen . Avisering kan ske antingen genom att prenumerera på en ström av viss information, eller via e-post eller genom att ringa andra webbtjänster.

teambuilding

Team Build  är en byggserver som ingår i Team Foundation Server som kan installeras på nästan vilken maskin som helst som stöder Visual Studio. Maskiner konfigurerade för Team Build kan användas av utvecklare för att slutföra byggen av de flesta av de senaste versionerna av programvara som används i kodkontroll. Register över varje byggnad sparas oavsett om den lyckas eller misslyckas, så att utvecklare och byggnadsadministratörer kan spåra framstegen i ett projekt. Om bygget sker sekventiellt analyseras ändringarna som gjorts i källkoden sedan den senaste framgångsrika builden, och uppdateringen av arbetsobjekten indikerar vissa framsteg. Till exempel, om en testare startar ett arbetsobjekt som adresserar en specifik bugg i build #15, och en utvecklare gör ändringar precis innan build #18 skapades, kommer "bug"-objektet att uppdateras till en status som indikerar att buggen har varit fast. Testaren kan antingen bekräfta eller dementera att felet har åtgärdats.

Det finns för närvarande två versioner av TeamBuild, där varje version motsvarar den version av TFS som installeras. De är dock ganska lätta att sätta upp.

TFSBuild.proj är filen som hanterar TeamBuild. Team Build-språket liknar MSBuild- språket .

Länkar

Se även

Anteckningar

  1. Azure DevOps Services vs. Azure DevOps Server

Ytterligare källor