Rezumat

Finalizat

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:

  1. Documentați-vă strategia: Scrieți instrucțiuni de versiuni pentru echipa dvs.
  2. Adoptați SemVer 2.0: Standardizați versionarea semantică.
  3. Configurați fluxuri și vizualizări: Configurați @Local, @Prereleaseși @Release vizualizări.
  4. Automatizați controlul versiunilor: Implementați generarea automată de versiuni în conductele de compilare.
  5. Configurați fluxurile de lucru de promovare: Definiți și automatizați promovarea pachetelor.
  6. 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ă

Resurse suplimentare

Ghiduri specifice tipului de pachet

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.