Koncept för implementeringsgrindar
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Distribueringsportar i Azure Pipelines läggs till i utgivningspipelines för att säkerställa att distributionerna uppfyller specifika kriterier innan de fortsätter. Grindar är viktiga för att säkerställa att distributionerna är tillförlitliga och säkra genom att framtvinga rigorösa kontroller som leder till stabilare och säkrare programvaruversioner.
Portar definieras i fördistributions- och efterdistributionsvillkoren för en releasefas. De tillhandahåller en mekanism för att automatiskt samla in hälsosignaler från externa tjänster, till exempel Azure Function eller REST API:er, för att styra marknadsföringen av utgåvor baserat på dessa signaler. Gates arbetar med godkännanden för att säkerställa att rätt intressenter godkänner versionen och att versionen uppfyller de nödvändiga kvalitets- och efterlevnadskriterierna.
Användningsfall
Några vanliga användningsfall för distributionsportar är:
- Incidenthantering: Kontrollera att vissa kriterier uppfylls innan du fortsätter med distributionen. Se till exempel till att distributionen endast sker om det inte finns några buggar med noll prioritet.
- Sök godkännanden: Integrera med Microsoft Teams eller Slack för att meddela externa användare, till exempel granskare eller IT-chefer om en distribution och vänta på deras godkännanden.
- Kvalitetsverifiering: Frågepipelinemått som passfrekvens eller kodtäckning och distribuera endast om de ligger inom ett fördefinierat tröskelvärde.
- Säkerhetsgenomsökning: Utför säkerhetskontroller som genomsökning av artefakter, kodsignering och principkontroll. En distributionsgate kan initiera genomsökningen och vänta på att den ska bli klar, eller bara kontrollera om den är slutförd.
- Användarupplevelse i förhållande till baslinje: Använd produktdatainsamling för att säkerställa att användaren upplever regressioner från baslinjetillståndet. Användarupplevelsemåtten innan distributionen kunde användas som baslinje.
- Ändringshantering: Vänta tills procedurerna för ändringshantering i ett system som ServiceNow har slutförts innan du fortsätter med distributionen.
- Infrastrukturhälsa: Utför övervakning och verifiera infrastrukturen mot efterlevnadsregler efter distributionen, eller vänta på hälsosam resursanvändning och en positiv säkerhetsrapport.
De flesta av hälsoparametrarna varierar över tid och ändrar regelbundet sin status från hälsosam till ohälsosam och tillbaka till hälsosam. För att ta hänsyn till sådana variationer omvärderas alla portar regelbundet tills alla är framgångsrika samtidigt. Versionskörningen och distributionen fortsätter inte om alla portar inte lyckas med samma intervall och före den konfigurerade tidsgränsen.
Definiera en port för en fas
Du kan aktivera portar i början av en fas (förhandsdistributionsvillkor) eller i slutet av en fas (villkor efter distributionen) eller för båda. Mer information finns i Konfigurera portar.
Den fördröjningen före utvärderingen är en tidsfördröjning i början av gateutvärderingsprocessen som gör att portarna kan initiera, stabilisera och börja ge korrekta resultat för den aktuella distributionen. Mer information finns i Gate-utvärderingsflöden.
- För distributionsportar föreär fördröjningen den nödvändiga tiden för att alla buggar ska registreras för de artefakter som distribueras.
- För portar efter distributionenär fördröjningen den maximala tid det tar för den distribuerade appen att nå ett stabilt drifttillstånd, den tid det tar för körning av alla nödvändiga tester på den distribuerade fasen och den tid det tar för incidenter att loggas efter distributionen.
Följande portar är tillgängliga som standard:
- Anropa Azure-funktion: Aktivera en Azure-funktion och se till att den lyckas. Mer information finns i Azure-funktionsaktivitet.
- Kontrollera Azure Monitor-aviseringar: Observera de konfigurerade Azure Monitor-aviseringsreglerna för aktiva aviseringar. Mer information finns i Azure Monitor-uppgift.
- Anropa REST API-: Anropa ett REST API och fortsätt om det returnerar ett lyckat svar. Mer information finns i Anropa REST API-uppgift.
- Frågearbetsobjekt: Kontrollera att antalet matchande arbetsobjekt som returneras från en fråga ligger inom ett tröskelvärde. För mer information, se uppgift Sök arbetsobjekt.
- Kontrollera Efterlevnad av Azure Policy: Utvärdera Azure Policy-efterlevnad för resurser inom omfånget för en viss prenumeration och resursgrupp, och eventuellt på en specifik resursnivå. Mer information finns i Kontrollera efterlevnadsuppgiften för Azure Policy.
Du kan också skapa egna portar med Marketplace-tillägg.
De utvärderingsalternativ som gäller för alla portar är:
- Tid mellan omprövning av portar. Tidsintervallet mellan efterföljande utvärderingar av portarna. Vid varje samplingsintervall skickas nya begäranden samtidigt till varje grind och de nya resultaten utvärderas. Rekommendationen är att samplingsintervallet är större än den längsta typiska svarstiden för de konfigurerade portarna så att alla svar kan tas emot för utvärdering.
- Timeout varefter portar går fel. Den maximala utvärderingsperioden för alla portar. Distributionen avvisas om tidsgränsen nås innan alla portar lyckas under samma samplingsintervall.
- Grindar och godkännanden. Välj den körningsordning som krävs för grindar och godkännanden om du har konfigurerat båda. För villkor före distribution är standardinställningen att begära manuella användargodkännanden först, för att därefter utvärdera grindarna så att systemet slipper utvärdera gatefunktionerna om användaren avvisar versionen. För villkor efter distributionen är standardvärdet att utvärdera grindar och fråga efter manuella godkännanden endast när alla grindar lyckas så att godkännarna har all information som krävs för att godkänna versionen.
Mer information om gates-analys finns i Visa godkännandeloggar och Övervaka och spåra distributioner.
Exempel på gateutvärderingsflöden
Följande diagram illustrerar flödet av gateutvärdering där distributionen godkänns efter den inledande stabiliseringsfördröjningsperioden och tre samplingsintervall.
Följande diagram illustrerar flödet av gateutvärdering där inte alla portar lyckades vid varje samplingsintervall efter den inledande stabiliseringsfördröjningsperioden. I det här fallet avvisas distributionen när tidsgränsen har löpt ut.