Pracovní postupy kontinuální integrace a průběžného doručování pro SLUŽBU LUIS DevOps

Důležité

Služba LUIS bude vyřazena 1. října 2025 a od 1. dubna 2023 nebudete moct vytvářet nové prostředky LUIS. Doporučujeme migrovat aplikace LUIS do porozumění konverzačnímu jazyku, abyste mohli využívat další podporu produktů a vícejazyčné funkce.

Softwaroví inženýři, kteří vyvíjejí aplikaci LUIS (Language Understanding), můžou používat postupy DevOps týkající se správy zdrojového kódu, automatizovaných sestavení, testování a správy verzí. Tento článek popisuje koncepty implementace automatizovaných sestavení pro službu LUIS.

Vytváření pracovních postupů automatizace pro SLUŽBU LUIS

CI workflows

V systému správy zdrojového kódu (SCM) nakonfigurujte automatizované kanály sestavení tak, aby se spouštěly v následujících událostech:

  1. Pracovní postup žádosti o přijetí změn se aktivuje při vyvolání žádosti o přijetí změn. Tento pracovní postup ověří obsah žádosti o přijetí změn před sloučením aktualizací do hlavní větve.
  2. Pracovní postup CI/CD se aktivuje, když se aktualizace nasdílí do hlavní větve, například při sloučení změn z žádosti o přijetí změn. Tento pracovní postup zajišťuje kvalitu všech aktualizací hlavní větve.

Pracovní postup CI/CD kombinuje dva doplňkové procesy vývoje:

  • Kontinuální integrace (CI) je technická praxe častého potvrzení kódu ve sdíleném úložišti a provádění automatizovaného sestavení na něm. Spárované s automatizovaným testovacím přístupem nám umožňuje ověřit, že pro každou aktualizaci je zdroj LUDown stále platný a dá se importovat do aplikace LUIS, ale také to, že projde skupinou testů, které ověřují, že vytrénovaná aplikace dokáže rozpoznat záměry a entity požadované pro vaše řešení.

  • Průběžné doručování (CD) dále využívá koncept kontinuální integrace k automatickému nasazení aplikace do prostředí, kde můžete provádět podrobnější testování. CD nám umožňuje co nejdříve se dozvědět o jakýchkoli nepředvídatelných problémech, které vznikají z našich změn, co nejrychleji, a také se dozvědět o mezerách v pokrytí testů.

Cílem kontinuální integrace a průběžného doručování je zajistit, aby "hlavní je vždy přepravitelný". V případě aplikace LUIS to znamená, že bychom v případě potřeby mohli vzít jakoukoli verzi z aplikace LUIS hlavní větve a odeslat ji do produkčního prostředí.

Nástroje pro vytváření pracovních postupů automatizace pro SLUŽBU LUIS

Tip

Kompletní řešení pro implementaci DevOps najdete v úložišti šablon LUIS DevOps.

K dispozici jsou různé technologie automatizace sestavení pro vytváření pracovních postupů automatizace sestavení. Všechny vyžadují, abyste mohli skriptovat kroky pomocí rozhraní příkazového řádku (CLI) nebo volání REST, aby bylo možné je spustit na buildovém serveru.

K vytváření pracovních postupů automatizace pro službu LUIS použijte následující nástroje:

  • Rozhraní příkazového řádku SLUŽBY LUIS pro nástroje Bot Framework pro práci s aplikacemi a verzemi LUIS, trénování, testování a publikování ve službě LUIS

  • Azure CLI slouží k dotazování předplatných Azure, načítání klíčů pro vytváření a predikce luis a k vytvoření instančního objektu Azure, který se používá k ověřování automatizace.

  • NLU. Nástroj DevOps pro testování aplikace LUIS a analýzu výsledků testů

Pracovní postup žádosti o přijetí změn

Jak už bylo zmíněno, nakonfigurujete tento pracovní postup tak, aby se spustil, když vývojář vyvolá žádost o přijetí změn a navrhne změny, které se mají sloučit z větve funkcí do hlavní větve. Jejím účelem je ověřit kvalitu změn v žádosti o přijetí změn před jejich sloučením do hlavní větve.

Tento pracovní postup by měl:

  • Vytvořte dočasnou aplikaci LUIS importováním zdroje v žádosti o přijetí .lu změn.
  • Trénujte a publikujte verzi aplikace LUIS.
  • Spusťte všechny testy jednotek.
  • Pokud všechny testy projdou, projdete pracovním postupem, jinak ho selžou.
  • Vyčistěte a odstraňte dočasnou aplikaci.

Pokud je scm podporováno, nakonfigurujte pravidla ochrany větví tak, aby se tento pracovní postup musel úspěšně dokončit před dokončením žádosti o přijetí změn.

Pracovní postup CI/CD hlavní větve

Nakonfigurujte tento pracovní postup tak, aby se spustil po sloučení aktualizací v žádosti o přijetí změn do hlavní větve. Jeho účelem je zachovat kvalitní panel pro vaši hlavní větev vysokou testováním aktualizací. Pokud aktualizace splňují panel kvality, tento pracovní postup nasadí novou verzi aplikace LUIS do prostředí, kde můžete provádět podrobnější testování.

Tento pracovní postup by měl:

  • Pomocí aktualizovaného zdrojového kódu vytvořte novou verzi v primární aplikaci LUIS (aplikaci, kterou udržujete pro hlavní větev).

  • Trénujte a publikujte verzi aplikace LUIS.

    Poznámka:

    Jak je vysvětleno v části Spouštění testů v pracovním postupu automatizovaného sestavení, musíte publikovat verzi aplikace LUIS v rámci testu, aby nástroje, jako je NLU. DevOps k němu má přístup. Luis podporuje pouze dva pojmenované sloty publikování, přípravný a produkční pro aplikaci LUIS, ale můžete také publikovat verzi přímo a dotazovat se podle verze. Používejte přímé publikování verzí v pracovních postupech automatizace, abyste se vyhnuli omezení používání pojmenovaných slotů publikování.

  • Spusťte všechny testy jednotek.

  • Volitelně můžete spustit dávkové testy , které měří kvalitu a přesnost verze aplikace LUIS a porovnávají je s některými směrnými plány.

  • Pokud se testy úspěšně dokončily:

    • Označte zdroj v úložišti.
    • Spuštěním úlohy průběžného doručování (CD) nasaďte verzi aplikace LUIS do prostředí pro další testování.

Průběžné doručování (CD)

Úloha CD v pracovním postupu CI/CD běží podmíněně na úspěšnosti sestavení a automatizovaných testů jednotek. Jejím úkolem je automaticky nasadit aplikaci LUIS do prostředí, kde můžete provádět další testování.

Neexistuje žádné doporučené řešení, jak nejlépe nasadit aplikaci LUIS a musíte implementovat proces, který je vhodný pro váš projekt. Úložiště šablon LUIS DevOps implementuje jednoduché řešení, kterým je publikování nové verze aplikace LUIS do produkčního slotu publikování. To je v pořádku pro jednoduché nastavení. Pokud ale potřebujete současně podporovat řadu různých produkčních prostředí, jako je vývoj, příprava a UAT, limit dvou pojmenovaných slotů publikování na aplikaci se ukáže jako nedostatečný.

Mezi další možnosti nasazení verze aplikace patří:

  • Ponechte verzi aplikace publikovanou do koncového bodu přímé verze a podle potřeby implementujte proces konfigurace podřízených produkčních prostředí s koncovým bodem přímé verze.
  • Pro každé produkční prostředí udržujte různé aplikace LUIS a napište kroky automatizace pro import do .lu nové verze v aplikaci LUIS pro cílové produkční prostředí, trénování a publikování.
  • Exportujte testovanou verzi aplikace LUIS do kontejneru Dockeru SLUŽBY LUIS a nasaďte kontejner LUIS do služby Azure Container Instances.

Správa vydaných verzí

Obecně doporučujeme průběžné doručování pouze do neprodukčního prostředí, jako je vývoj a příprava. Většina týmů vyžaduje ruční kontrolu a schvalování nasazení do produkčního prostředí. V případě produkčního nasazení můžete chtít zajistit, že k tomu dojde, když jsou pro podporu k dispozici klíčové osoby ve vývojovém týmu nebo během období s nízkým provozem.

Použití DevOps pro vývoj aplikací LUIS pomocí GitHub Actions

Přejděte do úložiště šablon LUIS DevOps, kde najdete kompletní řešení, které implementuje osvědčené postupy devOps a softwarového inženýrství pro službu LUIS. Toto úložiště šablon můžete použít k vytvoření vlastního úložiště s integrovanou podporou pracovních postupů CI/CD a postupů, které umožňují správu zdrojového kódu, automatizované sestavení, testování a správu verzí pomocí služby LUIS pro váš vlastní projekt.

Úložiště šablon LUIS DevOps vás provede následujícími postupy:

  • Naklonujte úložiště šablony – Zkopírujte šablonu do vlastního úložiště GitHub.
  • Konfigurace prostředků SLUŽBY LUIS – Vytvořte prostředky pro vytváření a predikce luis v Azure, které budou používat pracovní postupy kontinuální integrace.
  • Nakonfigurujte pracovní postupy CI/CD – Nakonfigurujte parametry pro pracovní postupy CI/CD a uložte je do tajných kódů GitHubu.
  • Projde "vývojovou vnitřní smyčkou" – Vývojář provede aktualizace ukázkové aplikace LUIS při práci ve vývojové větvi, otestuje aktualizace a pak vytvoří žádost o přijetí změn, aby navrhl změny a hledal schválení.
  • Spouštění pracovních postupů CI/CD – Spouštění pracovních postupů kontinuální integrace za účelem sestavení a testování aplikace LUIS pomocí GitHub Actions
  • Proveďte automatizované testování – pro aplikaci LUIS proveďte automatizované dávkové testování, abyste mohli vyhodnotit kvalitu aplikace.
  • Nasazení aplikace LUIS – Spuštění úlohy průběžného doručování (CD) pro publikování aplikace LUIS
  • Použijte úložiště s vlastním projektem – vysvětluje, jak úložiště používat s vlastní aplikací LUIS.

Další kroky