Server Azure DevOps

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 22 august 2019; verificările necesită 2 modificări .
Server Azure DevOps
Tip de Sistem de control al versiunilor
Dezvoltator Microsoft
Scris in C++
Sistem de operare Windows
Prima editie 2005
ultima versiune (2019)
Stat În dezvoltare activă
Site-ul web azure.microsoft.com/en-u…

Azure DevOps Server (fostul Team Foundation Server , abreviat TFS) este un produs al Microsoft Corporation , care este o soluție cuprinzătoare care combină un sistem de control al versiunilor , colectarea datelor, raportarea , urmărirea stărilor și modificărilor proiectelor și concepută pentru colaborarea la proiecte pe software dezvoltare . Produsul este disponibil ca o aplicație de sine stătătoare, similară ca funcție cu serviciul cloud Azure DevOps Services (înainte de 2019 numit Visual Studio Team Services , VSTS) [1] .

Arhitectură

Team Foundation Server funcționează pe o arhitectură cu trei niveluri: nivel de client, nivel de aplicație și nivel de date . Stratul de client este utilizat pentru a crea și gestiona proiecte și pentru a accesa elementele de proiect stocate și gestionate. La acest nivel, TFS nu conține nicio interfață cu utilizatorul , dar oferă servicii web care pot fi utilizate de aplicațiile client pentru a se integra în funcționalitatea TFS. Aceste servicii web sunt utilizate de aplicații precum Visual Studio Team System pentru a utiliza TFS ca infrastructură de stocare backend sau de gestionare a aplicațiilor TFS dedicate, cum ar fi aplicația Team Foundation Client inclusă . Serviciile web în sine sunt în stratul de aplicație . Stratul de aplicație include, de asemenea, un portal web și un depozit de documentație (repozitiv) acceptat de Windows SharePoint Services . Un portal web, numit Team Project Portal , acționează ca un hub pentru colaborare pentru proiectele gestionate de TFS. Depozitul de documente este utilizat atât pentru elementele de proiect, cât și pentru urmărirea revizuirilor (documentarea modificărilor), precum și pentru colectarea și prelucrarea datelor și generarea de rapoarte. Nivelul de date , bazat în principal pe SQL Server 2005 Standard Edition instalat , oferă servicii persistente de stocare a datelor pentru Document Repository. Nivelul de date și nivelul de aplicație pot exista pe diferite servere fizice sau virtuale atunci când se utilizează Windows Server 2003 sau o versiune ulterioară. Stratul de date nu interacționează direct cu stratul client , ci doar prin stratul de aplicație .

Cea mai mare parte a acțiunii din Team Foundation Server are loc cu „articole de lucru”. Elementele de lucru sunt unități (etape) separate ale muncii efectuate pe rând. În multe surse, acestea sunt identificate cu elemente de tip „eroare” (bug) în sistemele de urmărire a erorilor precum Bugzilla , adică, în acest caz, elementul de lucru are câmpurile Area (zona asociată), Iteration (state), Assignee ( asociat cu), Raportat de (de către cine a fost creat) pentru a indica informații relevante, istoric, fișiere atașate, precum și multe alte atribute. Elementele de lucru în sine pot fi de mai multe tipuri, cum ar fi Eroare , Sarcină , Cerință de calitate , Scenariu etc. Cadrul ales pentru orice proiect dat în Team Foundation Server determină ce tipuri de elemente de lucru vor fi disponibile și ce atribute va avea fiecare dintre tipuri. avea. Aceste elemente sunt stocate intern în format XML , iar schema lor poate fi ușor modificată pentru a adăuga atribute noi la diferite elemente sau pentru a crea elemente noi pe baza de design. Fiecare element de lucru are metode de control adecvate care determină ce elemente sunt disponibile cui și ce acțiuni poate efectua cu ele (vizionare, editare, creare, ștergere etc.). De asemenea, implică utilizarea notificărilor și posibilitatea de logare pentru a urmări istoricul întregului proces de creare, accesare sau modificare a unui element (determinat de drepturi), și prevede, de asemenea, notificarea suplimentară a anumitor utilizatori atunci când apar anumite evenimente.

Orice Team Foundation Server conține unul sau mai multe proiecte de echipă , constând din soluții bazate pe Visual Studio, fișiere de configurare pentru Team Build și Team Load Test Agents și un singur depozit bazat pe SharePoint care conține documentație legată de proiect. Un proiect de colaborare include elemente de lucru personalizate, versiuni (ramuri) de cod sursă, rapoarte gestionate de TFS. TFS oferă capacitatea de a gestiona aceste proiecte. Când creați un proiect nou, trebuie să alegeți un cadru de dezvoltare software care nu poate fi schimbat ulterior. TFS include câteva dintre cele mai comune modele, inclusiv tehnici de dezvoltare agile și formale. Alegerea unui cadru umple proiectul cu elemente predefinite, cum ar fi roluri și autorități, precum și alte documentații, cum ar fi o strategie de dezvoltare a proiectului (foaia de parcurs de proiect), șabloane de documente, șabloane de raport. Aceste articole pot fi legate de elemente de lucru. Starea anumitor articole de proiect poate fi actualizată automat atunci când elementele de lucru se modifică. TFS poate fi integrat cu Microsoft Excel pentru a crea și urmări elementele proiectului. Starea elementelor în acest caz poate fi specificată și editată direct în Excel, iar tabelele rezultate pot fi procesate de TFS, care va importa date ținând cont de specificul gestionării acestui proiect. În plus, poate fi integrat și cu Microsoft Project (de exemplu, Microsoft Project 2003, dar nu Project Server!) ca client de management de proiect. Elementele proiectului pot fi exportate ca documente Excel pentru o analiză ulterioară a datelor.

TFS în sine nu conține o interfață de utilizator pentru a efectua astfel de sarcini. Astfel de capabilități sunt furnizate prin intermediul serviciilor web care sunt utilizate de aplicațiile client, cum ar fi mediul de dezvoltare Visual Studio Team System (VSTS) . Cu toate acestea, TFS include o aplicație Team Foundation Client (TFC) care poate fi utilizată pentru a finaliza aceste sarcini fără VSTS. TFC gestionează și apelurile către serviciile web corespunzătoare. TFS oferă un client API care poate fi utilizat de o aplicație client pentru a accesa funcționalitatea; API-ul în sine gestionează legăturile intermediare pentru a stabili interacțiuni cu serviciile web, cum ar fi caching-ul pe partea clientului pentru a reduce latența și supraîncărcarea. Limbajul de descriere a serviciului web WSDL este, de asemenea, acceptat în cazul în care aplicația trebuie să apeleze direct serviciile web. Ca supliment, Visual Studio Team System Web Access este disponibil în scopuri similare.

Controlul sursei

Team Foundation Server implementează un depozit de control sursă numit Team Foundation Version Control (TFVC). Spre deosebire de soluția anterioară de control a codului Microsoft, Visual SourceSafe (VSS), care se baza pe un mecanism de stocare a fișierelor, Team Foundation stochează tot codul, precum și o înregistrare a tuturor modificărilor de cod, într-o bază de date care rulează SQL Server. Sunt acceptate funcții precum preluări multiple simultane ( adică mai multe persoane pot edita același fișier în același timp), soluționarea conflictelor, raft (aici ne referim la salvarea unui set de modificări planificate fără a le angaja controlului versiunilor și altele). utilizatorii pot vedea aceste seturi, dar nu le vor putea accesa fără permisiunea acordată în mod explicit), ramificare și îmbinare și capacitatea de a seta niveluri de acces (securitate) la orice nivel al arborelui codului sursă, împreună cu cele mai evidente caracteristici ale versiunea documentației, blocări, rollback-uri și comiteri atomice. Mecanismul de control al codului sursă este direct legat de elementele de lucru ale Sistemului de echipă; Într-un check-in (cunoscut și sub numele de „changeset”), un dezvoltator poate defini relația dintre codul său cu unul sau mai multe elemente de lucru specifice pentru a indica problemele pe care le rezolvă check-in-ul. Administratorii TFS pot impune politici de înregistrare care îndeplinesc cerințele de analiză a codului și, de asemenea, pot impune elemente de lucru asociate cu o anumită verificare sau pot actualiza starea elementelor de lucru asociate (cum ar fi menționarea unei erori ca „corectată” atunci când se efectuează modificări la codul care corectează această eroare). Versiunile separate de fișiere pot fi marcate cu etichete speciale, iar toate fișierele cu aceleași etichete formează un grup de lansare. Spre deosebire de VSS, depozitul de control al codului TFS nu acceptă fixarea unui element din mai multe locații din structura directorului codului sursă și nici nu acceptă „fixarea” unui element (adică suportarea de link-uri diferite către același fișier din mai multe directoare pentru diferite directoare). versiuni pentru a evita editarea ulterioară a acestui fișier).

TFVC acceptă ramificarea la toate nivelurile de cod sursă, precum și pentru fișiere și directoare individuale, fiecare ramură fiind acceptată separat. Mai multe ramuri pot fi îmbinate într-una singură cu indicarea ordinii (algoritmului) pentru rezolvarea conflictelor la îmbinarea modificărilor din două ramuri ale aceluiași fișier, apoi programul însuși va reconcilia automat diferențele sau le va marca pentru verificare manuală dacă el însuși nu poate face față cu ei. O îmbinare se poate face și la nivel de set de modificări în loc de nivelul de ramură. O îmbinare reușită este marcată (verificată) automat în depozitul de control al codului.

Capacitățile TFVC nu se limitează la codul sursă, dar prin încorporarea infrastructurii Windows SharePoint Services , oferă suport pentru o bibliotecă de versiuni ale documentelor de proiect, inclusiv planuri de proiect, cerințe, analize specifice proiectului și altele. Toate documentele din depozitul de control al codului pot fi asociate cu orice element de lucru, iar accesul la acestea poate fi controlat prin introducerea unei politici de acces (restricționare a drepturilor).

Raportare

Raportarea este o altă componentă de bază a Team Foundation Server. Cu acesta, puteți crea multe rapoarte bazate pe combinația de informații despre elementele de lucru, seturile de modificări, informațiile furnizate de Team Build și rezultatele testelor de la agenții de testare. De exemplu, rata de modificare a codului în timp, liste de erori fără cazuri de testare, repetiții ale testelor trecute anterior etc. Rapoartele create cu SQL Server Reporting Services pot fi exportate în mai multe formate diferite, inclusiv Excel, XML , PDF și TIFF . Rapoartele pot fi vizualizate atât folosind Visual Studio, cât și prin portalul web.

TFS își folosește cadrul de înregistrare pentru a automatiza colectarea datelor. Infrastructura de înregistrare urmărește și înregistrează informații cu privire la accesul și utilizarea elementelor de lucru și a codului sursă, care pot fi apoi utilizate de serviciile de analiză pentru a identifica tendințele. TFS la nivel de date conține un adaptor de acumulare care memorează în cache datele din bazele de date normalizate subiacente într-o formă convenabilă pentru analiză - tabele sau tabele de dimensiuni. SQL Server Analysis Services este apoi utilizat pentru a analiza aceste date și sunt generate rapoarte. Rapoartele pot acoperi mai multe elemente de lucru, inclusiv indicații de erori majore, modificări de cod, instrucțiuni de construcție și multe altele. Alte aplicații de analiză pot folosi și date furnizate direct de serviciile web.

Portalul proiectului

Pe baza fundației proiectului, TFS creează și un site SharePoint pentru proiect, care poate fi utilizat pentru a urmări progresul proiectului, a monitoriza elementele de lucru și documentele furnizate în biblioteca de proiect. De asemenea, puteți vizualiza rapoartele generate pe site. TFS poate fi folosit ca un hub de comunicare, adică utilizatorii asociați cu un anumit proiect pot folosi site-ul pentru a comunica sau a interacționa între ei. Comentariile pot fi asociate cu diverse elemente. Pentru fiecare proiect, în funcție de proprietățile acestuia, TFS utilizează șabloane predefinite care sunt specificate la crearea site-ului. Aceste șabloane pot fi personalizate (editate) de către administratorii TFS.

servicii partajate

TFS oferă suport pentru multe servicii care pot fi utilizate pentru integrarea cu aplicații terțe, cum ar fi IDE-uri și sisteme de management de proiect . Serviciul de conectare a permis crearea de relații slab cuplate între elemente, cum ar fi elementul bug și versiunile de cod sursă asociate acestuia. Serviciile de securitate au permis crearea unor grupuri de securitate între utilizatori, cărora li s-au atribuit drepturi de acces. Serviciul de clasificare prevedea definirea politicilor pentru clasificarea automată a articolelor pe baza unei varietăți de criterii, iar serviciul de evenimente permitea oricărei componente să declanșeze un eveniment și o notificare asociată cu acel eveniment . Notificarea poate avea loc fie prin abonarea la un flux de anumite informații, fie prin e-mail, fie prin apelarea altor servicii web.

team building

Team Build  este un server de compilare inclus cu Team Foundation Server care poate fi instalat pe aproape orice mașină care acceptă Visual Studio. Mașinile configurate pentru Team Build pot fi folosite de dezvoltatori pentru a finaliza versiuni ale majorității celor mai recente versiuni de software utilizate în controlul codului. Înregistrările fiecărei build sunt păstrate indiferent dacă reușește sau eșuează, astfel încât dezvoltatorii și administratorii build-ului să poată urmări progresul unui proiect. Dacă construirea are loc secvenţial, atunci modificările aduse codului sursă de la ultima versiune reușită sunt analizate, iar actualizarea elementelor de lucru indică un anumit progres. De exemplu, dacă un tester începe un articol de lucru care abordează o anumită eroare în versiunea #15 și un dezvoltator face modificări chiar înainte de crearea versiunii #18, atunci elementul „bug” se va actualiza la o stare care indică faptul că eroarea a fost fix. Testerul poate confirma sau infirma că eroarea a fost remediată cu succes.

În prezent, există două versiuni de TeamBuild, fiecare versiune corespunzând versiunii TFS instalate. Cu toate acestea, sunt destul de ușor de configurat.

TFSBuild.proj este fișierul care gestionează TeamBuild. Limbajul Team Build este similar cu limbajul MSBuild .

Link -uri

Vezi și

Note

  1. Azure DevOps Services vs. Server Azure DevOps

Surse suplimentare