Använda distributionsringar med tilläggsversioner
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Med distributionsringar kan du gradvis distribuera och verifiera ändringar i tillägget i produktion, samtidigt som du begränsar påverkan på användarna.
Vi rekommenderar inte att du distribuerar till alla produktionsmiljöer samtidigt, vilket gör alla användare tillgängliga för ändringarna. En gradvis distribution exponerar användarna för ändringarna över tid, vilket validerar ändringarna i produktionen med färre användare.
I följande tabell visas skillnaderna för berörda områden när du använder ringar jämfört med inga ringar.
Utan ringar | Påverkat område | Med ringar |
---|---|---|
Manuell och felbenägen | Skapa | Automatiserad och konsekvent |
Manuell och felbenägen | Frisläpp | Automatiserad och konsekvent |
Tider | Tid att bygga (TTB) | Sekunder |
Dagar | Tid att släppa (TTR) | Minuter |
Samtal från användare | Problemidentifiering | Proaktiv |
Dagar till veckor | Problemlösning | Minuter till dagar |
Mer information finns i Konfigurera versionspipelines för säkra distributioner.
Förutsättningar
- Granska CI/CD-pipelines och Godkännanden för detaljerad dokumentation om pipelines och godkännandefunktioner för versioner.
Tilldela användartyper
Ta reda på vilka användare som passar bäst för varje användartyp. Kommunicera möjligheten att ge feedback och risknivåerna på varje nivå, eftersom det är viktigt att ställa förväntningar och säkerställa framgång. I följande exempel delas användarna in i tre grupper i produktion:
- Kanariefåglar: testa funktioner frivilligt så snart de är tillgängliga.
- Tidiga användare: frivilligt förhandsversioner, anses vara mer raffinerade än kanariebitar.
- Användare: konsumera produkterna när de har gått igenom kanariefåglar och tidiga användare.
Mappa topologin
Mappa topologin för tillägget till den ringmärkta distributionsmodellen för att begränsa effekten av ändringar på användarna och leverera värde. För våra communitytillägg med öppen källkod använder vi främst ringbaserad distribution för att progressivt exponera en ny version för kanarieanvändare, tidiga användare och användare.
På programnivå är sammansättningen av Azure DevOps-tillägg enkel att sammanfatta, skala och distribuera oberoende av varandra.
Varje tillägg utför följande uppgifter:
- Har en av fler webb- och skriptfiler
- Gränssnitt med Core-klienten
- Gränssnitt med REST-klient- och REST-API:er
- Bevarar tillståndet i cacheminnet eller elastisk lagring
På infrastrukturnivå publiceras tilläggen på Marketplace. När du har installerat tillägget i din organisation värdhanteras det av Azure DevOps-tjänstportalen, med tillstånd kvar i Azure Storage eller lagring av tilläggsdata.
Tilläggstopologin passar perfekt för ringdistributionsmodellen och för att publicera tillägget till varje distributionsring:
- En privat utvecklingsversion för kanarieringen
- En privat förhandsversion för early adopter-ringen
- En offentlig produktionsversion för användarringen
Dricks
Publicera tillägget som privat för att kontrollera exponeringen för inbjudna användare.
Flytta ändringar via distributionsringar
Se följande exempelflöde för att flytta ändringar via distributionsringar.
Använd tillägget Azure DevOps Developer Tools Build Tasks för att paketera och publicera tillägg på Marketplace.
- En utvecklare från countdown widget-tillägget genomför en ändring av GitHub-lagringsplatsen .
- Incheckningen utlöser en kontinuerlig integreringsversion.
- Den nya versionen utlöser en kontinuerlig distributionsutlösare som automatiskt startar distributionen av canaries-miljön .
- Canaries-distributionen publicerar ett privat tillägg till Marketplace och delar det med fördefinierade organisationer. Endast kanariefåglarna påverkas av ändringen.
- Distributionen Kanariefåglar utlöser distributionen av early adopter-miljön . En grind för godkännande före distributionen kräver att någon av de behöriga användarna godkänner versionen.
- Early Adopter-distributionen publicerar ett privat tillägg till marknadsplatsen och delar det med fördefinierade organisationer. Både Canaries och Early Adopter påverkas av ändringen.
- Distributionen early adopter utlöser distributionen av användarmiljön . En striktare grind för godkännande före distributionen kräver att alla behöriga användare godkänner versionen.
- Distributionen Användare publicerar ett offentligt tillägg till marketplace. I det här skedet påverkas alla som har installerat tillägget i organisationen av ändringen.
- Det är viktigt att inse att effekten ökar när din förändring rör sig genom ringarna. Om du exponerar ändringen för Kanariefåglarna och Early Adopters får du två möjligheter att verifiera ändringen och snabbkorrigeringskritiska buggar innan du släpper till produktion.
Övervaka problem
Övervakning och aviseringar kan hjälpa dig att identifiera och åtgärda problem. Ta reda på vilken typ av data som är viktig, till exempel infrastrukturproblem, överträdelser och funktionsanvändning. Fokusera på åtgärdsbara aviseringar för att undvika att användare ignorerar dem och saknar problem med hög prioritet.
Dricks
Börja med övergripande vyer av dina data, visuella instrumentpaneler som du kan titta på långtifrån och öka detaljnivån efter behov. Utför regelbunden hushållning av dina vyer och ta bort allt brus. En visuell instrumentpanel berättar en bättre historia än många e-postmeddelanden, ofta filtrerade och bortglömda av e-postregler.
Använd Team Project Health och andra tillägg för att skapa en översikt över dina pipelines, led- och cykeltider och samla in annan information. I exempelinstrumentpanelen är det uppenbart att det finns 34 lyckade versioner, 21 lyckade versioner, 1 misslyckad version och 2 versioner pågår.
Finns det ett beroende av funktionsflaggor?
Nej. Ibland kan du behöva en viss funktion för att distribueras som en del av en version, men inte först exponeras för användare. Med funktionsflaggor får du detaljerad kontroll över funktioner som ingår i ändringen. Om du till exempel inte är helt säker på en funktion kan du använda funktionsflaggor för att dölja funktionen i en eller alla distributionsringar. Du kan aktivera alla funktioner i canaries-ringen och finjustera en delmängd för tidiga användare och produktionsanvändare, enligt följande bild.
Mer information finns i Progressiv experimentering med funktionsflaggor.
Vanliga frågor
F: Hur vet du att en ändring kan distribueras till nästa ring?
S: Du bör ha en konsekvent checklista för användare som godkänner en version.
F: Hur länge väntar du innan du skickar en ändring till nästa ring?
Det finns ingen fast varaktighet eller "avkylningsperiod". Det beror på hur lång tid det tar för dig att slutföra alla versionsvalideringar.
F: Hur hanterar du en snabbkorrigering?
S: Med ringdistributionsmodellen kan du bearbeta en snabbkorrigering som alla andra ändringar. Ju tidigare du får ett problem, desto tidigare kan du distribuera en snabbkorrigering utan effekt på underordnade ringar.
F: Hur hanterar du variabler som omfattar delade versionsmiljöer?
S: Se Standardvariabler och anpassade versionsvariabler.
F: Hur kan du hantera hemligheter som används av pipelinen?
S: Information om hur du skyddar kryptografiska nycklar och andra hemligheter som används av dina pipelines finns i Azure Key Vault.
Relaterade artiklar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för