Kontrollera distributioner med GitHub miljöer

Slutförd

Proseware automatiserar modellutrullning, men teamet vill inte att varje lyckad arbetsflödeskörning omedelbart ska ändra produktionstrafiken. Automatiserade tester bör verifiera distributionen först. En granskare bör sedan avgöra om bevisen stöder befordran.

Visa driftsättningsfaser

En GitHub miljö är ett namngivet distributionsmål på en lagringsplats, till exempel staging eller production. Ett jobb i ett arbetsflöde hänvisar till den miljö det är avsett för. GitHub utvärderar miljöns skyddsregler innan jobbet körs eller får åtkomst till miljöhemligheter.

Miljönamnet skapar inte en Azure resurs. Du bestämmer hur varje GitHub miljö ska mappas till Azure Machine Learning resurser. Mellanlagring och produktion kan till exempel använda separata arbetsytor för starkare isolering eller separata slutpunkter på en arbetsyta för lägre hanteringskostnader.

Note

En GitHub miljö styr distributionsjobb. En Azure Machine Learning miljö definierar operativsystemet, paketen och andra beroenden som används för att köra maskininlärningskod. De två begreppen är oberoende.

Skydda produktionshöjning

GitHub regler för miljöskydd kan kräva en granskare, begränsa distributioner till valda grenar eller taggar eller lägga till en väntetid. För Proseware kan endast körningar från main rikta produktion. En obligatorisk granskare granskar testresultaten från stagingmiljön innan jobbet för uppflyttning till produktion får fortsätta.

Den här grinden separerar två beslut. Automatiserade kontroller avgör om distributionen uppfyller definierade krav. Granskaren avgör om utgivningen ska fortsätta nu, med tanke på bevis och driftskontext.

Omfångskonfiguration och åtkomst

Miljövariabler kan innehålla icke-känsliga målinställningar, till exempel Azure Machine Learning arbetsyta och slutpunktsnamn. Miljöhemligheter är endast tillgängliga för jobb som refererar till den miljön och endast efter att dess skyddsregler har godkänts.

Med OIDC lagrar du ingen klienthemlighet. Du kan fortfarande använda olika federerade identiteter för mellanlagring och produktion och sedan bevilja varje identitet endast de Azure behörigheter som krävs för jobbet. Den här metoden förhindrar att ett mellanlagringsjobb får produktionsåtkomst bara för att båda jobben använder samma lagringsplats.

Ett praktiskt arbetsflöde skiljer distribution från befordran. Ett jobb driftsätter och testar den nya modellen utan produktionstrafik. Ett senare jobb refererar till den skyddade production-miljön och ändrar trafiken först efter godkännande.

Tips/Råd

Innan du lägger till ett godkännande ska du identifiera vilka bevis granskaren behöver. En kontrollpunkt utan tydliga godkännandekriterier fördröjer driftsättningen utan att förbättra beslutet.

Läs mer om att hantera GitHub miljöer för distribution.