Examinarea vizualizărilor versiunii

Finalizat

Când construiți pachete dintr-o conductă, pachetul trebuie să aibă o versiune înainte de a fi consumat și testat.

Numai după testare este cunoscută calitatea ambalajului.

Deoarece versiunile pachetelor nu pot și nu ar trebui să fie modificate, devine dificil să alegeți o anumită versiune în prealabil.

Niveluri de calitate și vizualizări

Azure Artifacts recunoaște nivelul de calitate al pachetelor din fluxurile sale și diferența dintre versiunile de prelansare și de lansare .

Oferă diferite vizualizări asupra listei de pachete și a versiunilor acestora, separându-le în funcție de nivelul lor de calitate.

Provocarea:

  • Versiunea mai întâi: Pachetul trebuie să aibă versiunea înainte de testare.
  • Calitate necunoscută: Calitatea este determinată după testare.
  • Imuabilitate: Nu se poate schimba versiunea după publicare.
  • Soluție: Utilizați vizualizări pentru a indica calitatea fără a schimba versiunea.

Vizualizări ca descriptori de calitate

Se potrivește bine cu utilizarea versiunilor semantice a pachetelor pentru predictibilitatea intenției unei anumite versiuni.

Cu toate acestea, metadatele sale suplimentare din fluxul Azure Artifacts se numesc descriptor.

Vizualizările oferă:

  • Indicator de calitate: Separați pachetele în funcție de nivelul de maturitate.
  • Alegerea consumatorului: Permiteți consumatorilor să aleagă nivelul de calitate.
  • Flux de lucru de promovare: Mutați pachetele prin porți de calitate.
  • Imuabilitatea menținută: Versiunea pachetului nu se schimbă.

Vizualizări de flux implicite

Fluxurile din Azure Artifacts au trei vizualizări diferite în mod implicit. Aceste vizualizări sunt adăugate atunci când se creează un flux nou.

Cele trei vizualizări implicite

1. @Local Vizualizare

Vizualizarea @Local conține toate pachetele de lansare și prelansare și pachetele descărcate din sursele din amonte.

Caracteristici:

  • Alimentare completă: Afișează toate pachetele indiferent de starea promoției.
  • Pachete din amonte: Include pachete stocate în cache din surse din amonte.
  • Vizualizare implicită: Utilizat în mod implicit când nu este specificată nicio vizualizare.
  • Utilizare dezvoltare: Folosit de obicei în timpul dezvoltării.

Cazuri de utilizare:

  • Construcții de dezvoltare: Dezvoltatorii testează cele mai recente pachete.
  • Versiuni CI: Construiți conducte care au nevoie de toate versiunile pachetelor.
  • Descoperirea pachetelor: Găsirea tuturor pachetelor disponibile.

2. @Prerelease Vizualizare

Vizualizarea @Prerelease conține toate pachetele care au o etichetă în numărul versiunii lor.

Caracteristici:

  • Numai versiuni etichetate: Afișează numai versiunile cu etichete de prelansare (de exemplu, 1.0.0-beta).
  • Poarta de calitate: Pachetele promovate aici au trecut controalele inițiale de calitate.
  • Faza de testare: Indică pachetele gata pentru testare mai largă.
  • Nu este pregătit pentru producție: Nu este recomandat pentru utilizare în producție.

Cazuri de utilizare:

  • Testarea QA: Echipe de asigurare a calității care testează versiunile preliminare.
  • Testare beta: Primii utilizatori testează noi funcții.
  • Testarea integrării: Testarea integrării cu alte sisteme.

3. Vizualizare @Release

Vizualizarea @Release conține toate pachetele care sunt considerate versiuni oficiale.

Caracteristici:

  • Gata de producție: Conține doar ambalaje aprobate pentru producție.
  • Fără etichete: De obicei, conține numai versiuni fără etichete de prelansare.
  • Versiuni stabile: Cel mai înalt nivel de calitate.
  • Acceptate: Pachetele din această vizualizare sunt acceptate oficial.

Cazuri de utilizare:

  • Implementări de producție: Aplicații implementate în producție.
  • Construcții stabile: Versiuni de lansare pentru clienți.
  • Lansări oficiale: Pachete distribuite utilizatorilor finali.

Utilizarea vizualizărilor

Puteți utiliza vizualizări pentru a oferi ajutor consumatorilor unui flux de pachete filtrând între versiunile lansate și nelansate ale pachetelor.

În esență, permite unui consumator să ia o decizie conștientă de a alege dintre pachetele lansate sau de a opta pentru prelansări de un anumit nivel de calitate.

Format URI de vizualizare implicit

În mod implicit, vizualizarea@Local este utilizată pentru a oferi lista de pachete disponibile. Formatul pentru acest URI este:

https://pkgs.dev.azure.com/{organization}/_packaging/{feedname}/nuget/v3/index.json

Componente:

  • {organizare}: Numele organizației Azure DevOps.
  • {nume feed}: Numele fluxului dvs.
  • Nicio vizualizare specificată: Implicit pentru @Local vizualizare.

Exemplu:

https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json

Format URI specific vizualizării

Când consumați un flux de pachete prin punctul său final URI, adresa poate avea vizualizarea solicitată inclusă. Pentru o anumită vizualizare, URI-ul include numele vizualizării, care se schimbă astfel:

https://pkgs.dev.azure.com/{organization}/_packaging/{feedname}@{Viewname}/nuget/v3/index.json

Exemple specifice vizualizării:

# @Local view (explicit)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Local/nuget/v3/index.json

# @Prerelease view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Prerelease/nuget/v3/index.json

# @Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json

Filtrare automată a vizualizării

Instrumentele vor afișa și utiliza automat pachetele din vizualizarea specificată.

Comportamentul managerului de pachete:

  • Filtrarea vizualizării: Sunt vizibile numai pachetele din vizualizarea specificată.
  • Rezoluție automată: Rezoluția dependențelor folosește numai pachete vizibile.
  • Transparent: Nu este necesară nicio configurație suplimentară.

Vizualizări în toate tipurile de pachete

Vizualizările funcționează în mod consecvent pentru toate tipurile de pachete:

NuGet

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json

npm

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/npm/registry/

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/npm/registry/

Maven

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/maven/v1

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/maven/v1

Piton

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/pypi/simple/

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/pypi/simple/

Etichetă preliminară versus vizualizare

Instrumentele pot oferi o opțiune pentru a selecta versiunile preliminare, așa cum se arată în acest dialog NuGet Visual Studio 2017.

Distincție importantă:

Nu se referă@Prerelease la vizualizarea unui flux. În schimb, se bazează pe prezența etichetelor de prelansare a versiunilor semantice pentru a include sau exclude pachete în rezultatele căutării.

Două concepte separate:

Etichete de prelansare (SemVer)

  • Bazat pe versiune: Parte din numărul versiunii (de exemplu, 1.0.0-beta).
  • Versiuni semantice: Urmează convențiile SemVer.
  • Caracteristica managerului de pachete: Managerii de pachete pot filtra pe baza etichetelor.
  • Universal: Funcționează în toate sistemele de pachete.

Exemplu:

1.0.0-alpha.1  ← Prerelease label
1.0.0          ← Stable version

@Prerelease view (Azure Artifacts)

  • Metadatele fluxului: Indicator de calitate specific Azure Artifacts.
  • Bazat pe promovare: Pachete promovate în această vizualizare.
  • Poarta de calitate: Indică un anumit nivel de calitate.
  • Specific Azure: Se aplică numai fluxurilor Azure Artifacts.

Cum funcționează împreună:

  • Complementar: Ambele ajută la gestionarea calității pachetelor.
  • Independent: Un pachet poate avea o etichetă, dar nu poate fi la @Prerelease vedere.
  • Flux de lucru: De obicei, versiunile etichetate sunt promovate la @Prerelease vizualizare.

Configurarea consumatorilor de pachete

Configurare dezvoltare

Utilizați @Local vizualizarea pentru dezvoltare activă:

# NuGet - Add source with Local view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json" --name MyFeed-Local

# npm - Configure in .npmrc
registry=https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/npm/registry/

Configurare QA/Testare

Utilizați @Prerelease vizualizarea pentru testare:

# NuGet - Add source with Prerelease view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Prerelease/nuget/v3/index.json" --name MyFeed-Prerelease

Configurația producției

Utilizați @Release vizualizarea pentru producție:

# NuGet - Add source with Release view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json" --name MyFeed-Release

# npm - Configure in .npmrc for production
registry=https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/npm/registry/

Vizualizări personalizate

Dincolo de cele trei vizualizări implicite, puteți crea vizualizări personalizate pentru niveluri de calitate mai fine.

Exemple de vizualizare personalizată:

  • @Alpha: Versiuni foarte timpurii.
  • @Beta: Versiuni de testare cu funcții complete.
  • @RC: Lansați versiuni candidate.
  • @Stable: Versiuni stabile pe termen lung.

Crearea vizualizărilor personalizate:

  1. Navigați la setările fluxului: Accesați fluxul în Azure Artifacts.
  2. Fila Vizualizări: Selectați secțiunea Vizualizări.
  3. Adaugă vizualizare: Selectați "Adăugați vizualizare" și furnizați un nume.
  4. Configura: Setați reguli de vizibilitate și promovare.

Vezi beneficiile

Controlul calității:

  • Lansări în etape: Mutați pachetele prin porți de calitate.
  • Reducerea riscurilor: Preveniți pachetele netestate în producție.
  • Comunicare clară: Vizualizările indică nivelul de calitate.

Flexibilitatea consumatorului:

  • Alegere: Consumatorii își aleg toleranța la risc.
  • Înscriere: Optați în mod conștient pentru versiunile pre-lansare.
  • Siguranță: Sistemele de producție văd doar pachetele lansate.

Integrarea fluxului de lucru:

  • CI/CD: Integrați promovarea în conducte.
  • Automatizare: Automatizați promovarea pe baza rezultatelor testelor.
  • Guvernare: Impuneți porți de calitate prin vizualizări.

Vezi si: