Rezumat
Acest modul a explicat strategiile de versionare pentru ambalare, cele mai bune practici pentru versiuni și fluxurile de lucru de promovare a pachetelor . Ați învățat concepte esențiale pentru gestionarea versiunilor de pachete pe parcursul ciclului de viață al dezvoltării software.
Ce ați învățat
Ați învățat cum să descrieți beneficiile și utilizarea următoarelor:
Implementarea unei strategii de versiuni
- Importanța versiunii Recunoașteți de ce versiunea corectă este esențială pentru gestionarea dependențelor și stabilitatea software-ului.
- Pachete imuabile: Înțelegeți că pachetele publicate nu pot fi modificate; pot fi lansate doar versiuni noi.
- Tipuri de versiuni: Înțelegeți treptele versiunilor majore, minore și de corecție și când să le utilizați pe fiecare.
- Versiuni specifice pachetului: Implementați versionarea pentru diferite tipuri de pachete (NuGet, npm, Maven, Python, pachete universale).
Înțelegerea versiunilor semantice
- Formatul SemVer 2.0: Aplicați versiunea Major.Minor.Patch pentru o comunicare consecventă.
- Modificări de ultimă oră: Utilizați versiuni majore pentru a semnala modificările API incompatibile.
- Caracteristici noi: Utilizați versiuni minore pentru adăugiri compatibile cu versiunile anterioare.
- Remedieri de erori: Utilizați versiuni de corecții pentru remedieri compatibile cu versiunile anterioare.
- Etichete de prelansare: Utilizați etichete (alfa, beta, rc) pentru a indica calitatea prelansării.
- Precedența versiunii: Înțelegeți cum sunt comparate și ordonate versiunile.
Utilizarea vizualizărilor Azure Artifacts
- Trei vizualizări implicite: Pârghie @Local, @Prereleaseși @Release vizualizări.
- @Local vizualizare: Conține toate pachetele, inclusiv cele din surse din amonte.
- @Prerelease vizualizare: Filtrează la pachete cu etichete de prelansare.
- @Release vizualizare: Afișează numai pachetele gata de producție.
- URI-uri specifice vizualizării: Configurați consumatorii de pachete pentru a utiliza vizualizări specifice.
- Vizualizări personalizate: Creați vizualizări suplimentare pentru niveluri de calitate mai fine.
Promovarea pachetelor
- Porți de calitate: Folosește promovarea pentru a trece pachetele la niveluri de calitate.
- Flux de lucru de promovare: Implementați @Local → @Prerelease → @Release progres.
- Promovare automată: Utilizați activitățile Azure Pipelines pentru a automatiza promovarea pe baza rezultatelor testelor.
- Promovare manuală: Aplicați porți de aprobare manuală pentru pachetele critice.
- Protecția retenției: Înțelegeți că pachetele promovate sunt protejate împotriva ștergerii.
- Pachete din amonte: Gestionați promovarea pachetelor upstream stocate în cache.
Împingerea pachetelor din conducte
- Publicare automată: Configurați conductele de compilare pentru a publica automat pachete în fluxuri.
- Generarea versiunii: Implementați generarea automată a numerelor de versiune în CI/CD.
- Metadatele pachetului: Includeți metadate cuprinzătoare în pachete.
- Etichetarea sursei: Etichetați codul sursă cu versiunile pachetului pentru trasabilitate.
Aplicarea celor mai bune practici
- Strategie documentată: Mențineți documentația scrisă a strategiei de versiuni.
- Adoptarea SemVer: Standardizați versiunea semantică 2.0.
- Alimentare unică per depozit: Configurați fiecare depozit pentru a face referire la un singur flux.
- Publicare automată: Publicați automat pachetele la creare.
- Testați înainte de a promova: Testați întotdeauna pachetele înainte de a promova la vizualizări mai înalte.
- Alinierea echipei: Integrați versionarea în Definiția Terminat.
Rezumatul conceptelor cheie
Imuabilitatea versiunii
- Nu schimbați niciodată versiunile publicate: Pachetele publicate sunt imuabile.
- Creați întotdeauna versiuni noi: Orice modificare necesită un nou număr de versiune.
- Încredere și fiabilitate: Consumatorii au încredere că versiunile nu se schimbă.
Principii de versiune semantică
- Major.Minor.Patch: Număr de versiune în trei părți.
- Comunicare clară: Numărul versiunii indică domeniul de aplicare al modificărilor.
- Compatibilitate: Minor și patch mențin compatibilitatea.
- Etichete de prelansare: Indicați nivelul de calitate cu etichete.
Vizualizări Azure Artifacts
- Indicatori de calitate: Vizualizează pachetele separate în funcție de nivelul de calitate.
- Flux de lucru de promovare: Promovarea explicită mută pachetele prin vizualizări.
- Alegerea consumatorului: Consumatorii selectează vizualizarea în funcție de toleranța la risc.
- Protecția retenției: Pachete promovate protejate de ștergere.
Beneficiile automatizării
- Consistență: Procesele automatizate reduc eroarea umană.
- Viteză: Cicluri de lansare mai rapide cu automatizare.
- Porți de calitate: Testare automată înainte de promovare.
- Trasabilitatea: Fiecare construcție produce artefact urmăribil.
Pașii următori
Continuați instruirea
Îmbunătățiți-vă abilitățile de versiune:
- Fluxuri de lucru avansate de promovare: Implementați promovarea în mai multe etape cu porți de aprobare.
- Managementul gamei de versiuni: Înțelegeți intervalele și constrângerile de versiuni de dependență.
- Strategii de ramificare: Aliniați versionarea cu strategiile de ramificare (Gitflow, bazat pe trunchi).
- Versiuni rapide: Gestionați corect remedierile rapide și backport-urile.
Explorați scenarii avansate:
- Versiuni Monorepo: Pachete de versiuni în depozite monorepo.
- Managementul schimbării: Strategii pentru deprecierea și eliminarea caracteristicilor.
- Fixarea versiunii: Controlați când consumatorii adoptă versiuni noi.
- Automatizarea jurnalului de modificări: Generați automat jurnale de modificări din commit-uri.
Aplicație practică
Începeți să implementați:
- Documentați-vă strategia: Scrieți instrucțiuni de versiuni pentru echipa dvs.
- Adoptați SemVer 2.0: Standardizați versionarea semantică.
- Configurați fluxuri și vizualizări: Configurați @Local, @Prereleaseși @Release vizualizări.
- Automatizați controlul versiunilor: Implementați generarea automată de versiuni în conductele de compilare.
- Configurați fluxurile de lucru de promovare: Definiți și automatizați promovarea pachetelor.
- Instruiți-vă echipa: Asigurați-vă că toată lumea înțelege și urmează strategia de versiune.
Integrare cu practicile DevOps
Versiuni în fluxurile de lucru DevOps:
- Integrare continuă: Automatizați construirea și publicarea pachetelor.
- Livrare continuă: Utilizați fluxuri de lucru de promovare pentru versiuni controlate.
- Infrastructura ca cod: Pachete de infrastructură de versiuni alături de pachetele de aplicații.
- Steaguri de caracteristici: Combinați versionarea cu steagurile de caracteristici pentru lansări treptate.
Aflați mai multe
Documentație oficială
- Concepte cheie pentru Azure Artifacts - Ghid cuprinzător pentru conceptele Azure Artifacts, inclusiv imuabilitatea pachetului.
- Publicarea și descărcarea pachetelor universale - Azure Artifacts | Microsoft Learn - Ghid de pornire rapidă pentru pachetele universale din Azure Artifacts.
- Introducere în pachetele NuGet - Azure Artifacts | Microsoft Learn - Ghid complet pentru gestionarea pachetelor NuGet în Azure Artifacts.
Resurse suplimentare
- Semantic Versioning 2.0.0 - Specificație oficială de versiuni semantice.
- Vizualizări Azure Artifacts - Explicație detaliată a vizualizărilor de flux și a promovării.
- Cele mai bune practici pentru utilizarea Azure Artifacts - Cele mai bune practici cuprinzătoare pentru Azure Artifacts.
- Versionarea pachetelor în Azure Pipelines - Ghid pentru pachetele de versiuni în conductele CI/CD.
- Vizualizări de flux pentru promovarea pachetelor - Cum să comunicați calitatea pachetului cu vizualizări.
Ghiduri specifice tipului de pachet
- Versiuni ale pachetelor NuGet - Instrucțiuni de versiuni specifice NuGet.
- Versiuni semantice npm - npm și versiuni semantice.
- Versiuni Maven - Versiuni de proiect Maven.
- Specificatoare de versiuni de ambalare Python - specificatoare de versiuni PEP 440.
Instrumente și automatizare
- GitVersion - Versiuni automate din istoricul Git.
- semantic-release - Gestionarea complet automatizată a versiunilor și publicarea pachetelor.
- Azure DevOps CLI - Instrumente de linie de comandă pentru automatizarea Azure Artifacts.
Comunitate și sprijin
- Documentație Azure DevOps: Explorați ghiduri și tutoriale cuprinzătoare.
- Întrebări și răspunsuri Microsoft: Pune întrebări și obține răspunsuri de la comunitate.
- Blogul Azure DevOps: Fii la curent cu cele mai recente funcții și cele mai bune practici.
- Exemple GitHub: Explorați exemple de conducte și configurații.