Použití okruhů nasazení s verzemi rozšíření

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pomocí okruhů nasazení můžete postupně nasazovat a ověřovat změny rozšíření v produkčním prostředí a zároveň omezit vliv na uživatele.

Nedoporučujeme nasazovat do všech produkčních prostředí současně, což zpřístupňuje všechny uživatele změnám. Postupné zavedení zpřístupňuje uživatelům změny v průběhu času a ověřuje změny v produkčním prostředí s menším počtem uživatelů.

Následující tabulka uvádí rozdíly pro ovlivněné oblasti, když používáte okruhy a žádné kroužky.

Bez kroužků Postižená oblast S kroužky
Ruční a náchylné k chybám Sestavit Automatizované a konzistentní
Ruční a náchylné k chybám Verze Automatizované a konzistentní
Hodiny Čas sestavení (TTB) Sekundy
Dny Čas k vydání (TTR) V řádu minut
Volání od uživatele Detekce problémů Aktivní
Dny až týdny Řešení problému Počet minut na dny

Další informace najdete v tématu Konfigurace kanálů verze pro bezpečné nasazení.

Požadavky

  • Projděte si kanály CI/CD a Schválení, kde najdete podrobnou dokumentaci ke kanálům a schvalovacím funkcím pro vydané verze.

Přiřazení typů uživatelů

Určete, kteří uživatelé jsou nejvhodnější pro každý typ uživatele. Informujte příležitost poskytnout zpětnou vazbu a úrovně rizika na jednotlivých úrovních, protože je důležité nastavit očekávání a zajistit úspěch. V následujícím příkladu se uživatelé rozdělí do tří skupin v produkčním prostředí:

  • Canaries: dobrovolně testovat funkce, jakmile budou k dispozici.
  • Raní uživatelé: dobrovolně vydané verze Preview, které jsou považované za pokročilejší než kanárské bity.
  • Uživatelé: spotřebovávají produkty po předání kanárů a raných adoptérů.

Okruhy uživatelů

Mapování topologie

Namapujte topologii rozšíření na model vyzváněného nasazení, abyste omezili dopad změn na uživatele a poskytovali hodnotu. U našich opensourcových rozšíření komunity většinou používáme nasazení založené na okruhech, abychom postupně zpřístupnili novou verzi kanárům, raným uživatelům a uživatelům.

Na úrovni aplikace je složení rozšíření Azure DevOps snadno přehledné, škálovatelné a nasazovatelné nezávisle.

Každé rozšíření provede následující úlohy:

  • Obsahuje jeden z více webových souborů a souborů skriptů.
  • Rozhraní s klientem Core
  • Rozhraní s klientem REST a rozhraními REST API
  • Zachování stavu v mezipaměti nebo odolném úložišti

Progresivní expozice aplikační vrstvy

Na úrovni infrastruktury se rozšíření publikuje na Marketplace. Jakmile rozšíření nainstalujete ve vaší organizaci, hostuje ho portál služby Azure DevOps s trvalým stavem v úložišti Azure nebo v datovém úložišti rozšíření.

Progresivní expozice vrstvy infrastruktury

Topologie rozšíření je dokonale vhodná pro model nasazení okruhu a k publikování rozšíření do každého okruhu nasazení:

  • Privátní vývojová verze kanárkového okruhu
  • Verze Private Preview pro počáteční okruh osvojitele
  • Veřejná produkční verze pro okruh uživatelů

Tip

Publikujte rozšíření jako soukromé, abyste mohli řídit vystavení pozvanými uživatelům.

Přesun změn mezi okruhy nasazení

Podívejte se na následující příklad postupu přesouvání změn přes okruhy nasazení.

Pomocí rozšíření Azure DevOps Developer Tools Build Tasks zabalte a publikujte rozšíření na Marketplace.

Rozšiřující kroužky

  1. Vývojář z projektu rozšíření Countdown Widget potvrdí změnu do úložiště GitHub .
  2. Potvrzení aktivuje sestavení kontinuální integrace.
  3. Nové sestavení aktivuje trigger průběžného nasazování, který automaticky spustí nasazení prostředí Canaries .
  4. Nasazení Canaries publikuje privátní rozšíření na Marketplace a sdílí ho s předdefinovanými organizacemi. Změna ovlivní pouze Canaries.
  5. Nasazení Canaries aktivuje počáteční nasazení prostředí adoptéru . Brána předběžného schválení nasazení vyžaduje, aby všichni autorizovaní uživatelé schválili vydání. Schválení před nasazením pro prostředí s dřívějším osvojovačem
  6. Nasazení early Adopter publikuje privátní rozšíření na marketplace a sdílí ho s předdefinovanými organizacemi. Na změnu mají vliv Jak Canaries, tak raný adoptér.
  7. Počáteční nasazení adoptéru aktivuje nasazení prostředí Users . Přísnější brána schválení před nasazením vyžaduje, aby vydání schválili všichni autorizovaní uživatelé. Schválení před nasazením pro uživatelské prostředí
  8. Nasazení Uživatelé publikuje veřejné rozšíření na marketplace. V této fázi se změna týká všech uživatelů, kteří nainstalovali rozšíření ve své organizaci.
  9. Je klíčem k tomu, abyste si uvědomili, že se efekt zvyšuje, když se vaše změna pohybuje v okruhech. Zveřejnění změny canaries a early adopters vám dává dvě příležitosti k ověření změny a oprav hotfix kritické chyby před vydáním do produkčního prostředí.

Monitorování problémů

Monitorování a upozornění vám můžou pomoct odhalit a zmírnit problémy. Určete, jaký typ dat je důležitý, například: problémy s infrastrukturou, porušení a používání funkcí. Zaměřte se na výstrahy s možností použití, abyste uživatelům zabránili ignorování a chybějícím problémům s vysokou prioritou.

Tip

Začněte zobrazeními dat na vysoké úrovni, vizuálními řídicími panely, které můžete podle potřeby sledovat na dálku a přejít k podrobnostem. Pravidelně udržujte zobrazení a odstraňte veškerý hluk. Vizuální řídicí panel dává lepší informace než spousta e-mailů s oznámeními, často filtrovaných a zapomenutých podle pravidel e-mailu.

Pomocí funkce Stav týmového projektu a dalších rozšíření můžete vytvořit přehled kanálů, časů potenciálních zájemců a cyklu a shromáždit další informace. Na ukázkovém řídicím panelu je zřejmé, že probíhá 34 úspěšných sestavení, 21 úspěšných verzí, 1 neúspěšná verze a 2 probíhající verze.

Řídicí panel vysoké úrovně v Azure DevOps

Je nějaká závislost na příznakech funkcí?

Ne. Někdy může být potřeba nasadit určitou funkci jako součást verze, ale nemusí být zpočátku zpřístupněna uživatelům. Příznaky funkcí umožňují jemně odstupňovanou kontrolu nad funkcemi, které jsou součástí vaší změny. Pokud například nemáte plnou jistotu o funkci, můžete ji pomocí příznaků funkcí skrýt v jednom nebo ve všech kanálech nasazení. Můžete povolit všechny funkce v okruhu kanárů a vyladit podmnožinu pro počáteční uživatele a uživatele v produkčním prostředí, jak je znázorněno na následujícím obrázku.

Hlavní příznaky

Další informace najdete v tématu Progresivní experimentování s příznaky funkcí.

Často kladené dotazy

Otázka: Jak víte, že změnu je možné nasadit do dalšího okruhu?

A: Měli byste mít konzistentní kontrolní seznam pro uživatele, kteří schvalují vydání.

Otázka: Jak dlouho počkáte, než nasdílíte změnu do dalšího okruhu?

Neexistuje žádná pevná doba trvání ani období "cool off". Záleží na tom, jak dlouho trvá úspěšné dokončení všech ověření vydané verze.

Otázka: Jak spravujete opravu hotfix?

A: Model nasazení okruhu umožňuje zpracovat opravu hotfix stejně jako jakoukoli jinou změnu. Čím dříve zachytíte problém, tím dříve můžete nasadit opravu hotfix bez dopadu na podřízené okruhy.

Otázka: Jak se zabýváte proměnnými, které zahrnují sdílená prostředí vydaných verzí?

A: Přečtěte si o výchozích a vlastních proměnných vydané verze.

Otázka: Jak můžete spravovat tajné kódy používané kanálem?

A: Pokud chcete chránit kryptografické klíče a další tajné kódy používané vašimi kanály, přečtěte si téma Azure Key Vault.