Folyamatos integrációs és folyamatos kézbesítési munkafolyamatok a LUIS DevOpshoz

Fontos

A LUIS 2025. október 1-jén megszűnik, és 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat. Javasoljuk, hogy a LUIS-alkalmazásokat a beszélgetési nyelv megértésére migrálja, hogy kihasználhassa a terméktámogatás és a többnyelvű képességek előnyeit.

A Language Understanding (LUIS) alkalmazást fejlesztő szoftvermérnökök devOps-eljárásokat alkalmazhatnak a forráskezelés, az automatizált buildek, a tesztelés és a kiadáskezelés területén. Ez a cikk a LUIS automatizált buildjeinek implementálásával kapcsolatos fogalmakat ismerteti.

Automatizálási munkafolyamatok létrehozása LUIS-hoz

CI workflows

A forráskódkezelő (SCM) rendszerben konfigurálja az automatizált buildelési folyamatokat a következő események futtatásához:

  1. A lekéréses kérelem (PR) indításakor a lekéréses munkafolyamat aktiválódik. Ez a munkafolyamat ellenőrzi a lekéréses kérelem tartalmát, mielőtt a frissítések egyesülnek a főágban.
  2. A CI/CD munkafolyamat a frissítések fő ágba való leküldésekor aktiválódik, például a módosítások egy lekéréses kérelemből való egyesítésekor. Ez a munkafolyamat biztosítja a főág összes frissítésének minőségét.

A CI/CD munkafolyamat két egymást kiegészítő fejlesztési folyamatot egyesít:

  • A folyamatos integráció (CI) a kód közös adattárban való gyakori véglegesítésének és automatizált buildelésének mérnöki gyakorlata. Az automatizált tesztelési megközelítéssel párosítva a folyamatos integráció lehetővé teszi annak ellenőrzését, hogy az egyes frissítések esetében a LUDown-forrás továbbra is érvényes-e, és importálható-e egy LUIS-alkalmazásba, de egy tesztcsoportot is átad, amely ellenőrzi, hogy a betanított alkalmazás képes-e felismerni a megoldáshoz szükséges szándékokat és entitásokat.

  • A Folyamatos kézbesítés (CD) továbbviszi a folyamatos integrációs koncepciót, hogy automatikusan üzembe helyezze az alkalmazást egy olyan környezetben, ahol részletesebb tesztelést végezhet. A CD lehetővé teszi számunkra, hogy minél hamarabb megismerjük a változásokból eredő előre nem látható problémákat, és megismerjük a tesztelési lefedettség hiányosságait is.

A folyamatos integráció és a folyamatos teljesítés célja annak biztosítása, hogy "a fő mindig szállítható legyen". A LUIS-alkalmazások esetében ez azt jelenti, hogy szükség esetén bármilyen verziót átvehetünk a főági LUIS-alkalmazásból, és éles környezetben szállíthatjuk.

Eszközök automatizálási munkafolyamatok létrehozásához a LUIS-hoz

Tipp.

A DevOps implementálásához teljes megoldást találhat a LUIS DevOps-sablon adattárában.

A buildautomatizálási munkafolyamatok létrehozásához különböző buildautomatizálási technológiák állnak rendelkezésre. Ezek mindegyike megköveteli, hogy parancssori felülettel (CLI) vagy REST-hívásokkal szkriptelje a lépéseket, hogy azok végrehajthatók legyenek egy buildkiszolgálón.

Az automatizálási munkafolyamatok LUIS-hoz való létrehozásához használja az alábbi eszközöket:

  • A Bot Framework Tools LUIS CLI-vel dolgozhat a LUIS-alkalmazásokkal és -verziókkal, betanítsa, tesztelje és közzétegye őket a LUIS szolgáltatásban.

  • Azure CLI az Azure-előfizetések lekérdezéséhez, a LUIS szerzői és előrejelzési kulcsainak lekéréséhez, valamint az automatizálási hitelesítéshez használt Azure-szolgáltatásnév létrehozásához.

  • NLU. DevOps-eszköz LUIS-alkalmazások teszteléséhez és a teszteredmények elemzéséhez.

A lekéréses kérelem munkafolyamata

Ahogy már említettük, úgy konfigurálja ezt a munkafolyamatot, hogy fusson, amikor egy fejlesztő létrehoz egy pr-t, hogy javaslatot tegyen a funkcióágból a főágba egyesítendő módosításokra. Célja, hogy ellenőrizze a lekéréses kérelemben szereplő változások minőségét, mielőtt egyesítené őket a főágban.

Ennek a munkafolyamatnak a következőnek kell lennie:

  • Hozzon létre egy ideiglenes LUIS-alkalmazást a .lu forrás importálásával a lekéréses kérelemben.
  • A LUIS-alkalmazás verziójának betanítása és közzététele.
  • Futtassa az összes egységtesztet rajta.
  • Adja át a munkafolyamatot, ha az összes teszt megfelel, ellenkező esetben meghiúsul.
  • Távolítsa el és törölje az ideiglenes alkalmazást.

Ha az SCM támogatja, konfigurálja az ágvédelmi szabályokat úgy, hogy a munkafolyamatnak sikeresen le kell fejeződnie a lekéréses kérelem befejezése előtt.

A fő ág CI/CD munkafolyamata

Konfigurálja ezt a munkafolyamatot úgy, hogy a lekéréses kérelemben szereplő frissítések a fő ágba való egyesítése után fussanak. Célja, hogy a frissítések tesztelésével magasan tartsa a főág minőségi sávját. Ha a frissítések megfelelnek a minőségi sávnak, ez a munkafolyamat üzembe helyezi az új LUIS-alkalmazásverziót egy olyan környezetben, ahol részletesebb tesztelést végezhet.

Ennek a munkafolyamatnak a következőnek kell lennie:

  • Hozzon létre egy új verziót az elsődleges LUIS-alkalmazásban (a főág számára fenntartott alkalmazásban) a frissített forráskód használatával.

  • A LUIS-alkalmazás verziójának betanítása és közzététele.

    Feljegyzés

    Ahogy az automatizált buildelési munkafolyamat tesztjeinek futtatásával magyarázható, közzé kell tennie a LUIS-alkalmazás verzióját a tesztelés alatt, hogy az olyan eszközök, mint az NLU. A DevOps hozzáférhet hozzá. A LUIS csak két elnevezett közzétételi helyet támogat, az előkészítést és az éles működést egy LUIS-alkalmazáshoz, de közvetlenül is közzéteheti a verziót, és verzió szerint lekérdezheti. Használjon közvetlen verzió-közzétételt az automatizálási munkafolyamatokban, hogy ne korlátozódjon a nevesített közzétételi pontok használatára.

  • Futtassa az összes egységtesztet.

  • Igény szerint kötegelt teszteket is futtathat a LUIS-alkalmazás verziójának minőségének és pontosságának méréséhez, és összehasonlíthatja azt néhány alapkonfigurációval.

  • Ha a tesztek sikeresen befejeződnek:

    • Címkézze meg a forrást az adattárban.
    • Futtassa a Folyamatos kézbesítés (CD) feladatot a LUIS-alkalmazás verziójának környezetekben való üzembe helyezéséhez további tesztelés céljából.

Folyamatos teljesítés (CD)

A CI/CD-munkafolyamat CD-feladata feltételesen fut a buildelési és automatizált egységtesztek sikerességétől. A feladata, hogy automatikusan üzembe helyezze a LUIS-alkalmazást egy olyan környezetben, ahol további tesztelést végezhet.

A LUIS-alkalmazás üzembe helyezésének legjobb módjára senki sem javasolt megoldást, és a projektnek megfelelő folyamatot kell implementálnia. A LUIS DevOps-sablon adattára ehhez egy egyszerű megoldást implementál, amely az új LUIS-alkalmazásverzió közzétételét teszi lehetővé az éles közzétételi ponton. Ez rendben van egy egyszerű beállításhoz. Ha azonban egyszerre több különböző éles környezetet kell támogatnia, például a fejlesztést, az előkészítést és az UAT-t, akkor az alkalmazásonként két elnevezett közzétételi pont korlátja elégtelennek bizonyul.

Az alkalmazásverzió üzembe helyezésének további lehetőségei a következők:

  • Hagyja közzé az alkalmazásverziót a közvetlen verzió végpontja számára, és szükség szerint implementáljon egy folyamatot, amely konfigurálja az alsóbb rétegbeli éles környezeteket a közvetlen verzióvégponttal.
  • Az egyes éles környezetekhez különböző LUIS-alkalmazásokat kezelhet, és automatizálási lépéseket írhat a .lu cél éles környezethez tartozó LUIS-alkalmazás új verziójába való importálásához, betanítása és közzététele céljából.
  • Exportálja a tesztelt LUIS-alkalmazásverziót egy LUIS docker-tárolóba , és helyezze üzembe a LUIS-tárolót az Azure Container Instancesben.

Kiadáskezelés

Általában azt javasoljuk, hogy csak a nem éles környezetekhez, például a fejlesztéshez és az előkészítéshez végezze el a folyamatos kézbesítést. A legtöbb csapat manuális felülvizsgálati és jóváhagyási folyamatot igényel az éles környezetben való üzembe helyezéshez. Éles üzembe helyezés esetén érdemes lehet meggyőződni arról, hogy ez akkor fordul elő, ha a fejlesztési csapat kulcsemberei támogatás céljából vagy alacsony forgalmú időszakokban érhetők el.

DevOps alkalmazása LUIS-alkalmazásfejlesztésre a GitHub Actions használatával

Keresse fel a LUIS DevOps-sablon adattárát egy olyan teljes megoldáshoz, amely a DevOps és a szoftverfejlesztés ajánlott eljárásait valósítja meg a LUIS-hoz. Ezzel a sablon-adattárral létrehozhatja saját adattárát a CI/CD-munkafolyamatok és eljárások beépített támogatásával, amelyek lehetővé teszik a forrásvezérlést, az automatizált buildelést, a tesztelést és a kiadáskezelést a LUIS-jal a saját projektjéhez.

A LUIS DevOps-sablon adattára a következő lépéseket ismerteti:

  • Klónozza a sablon-adattárat – Másolja a sablont a saját GitHub-adattárába.
  • LUIS-erőforrások konfigurálása – A folyamatos integrációs munkafolyamatok által használt LUIS-szerzői és előrejelzési erőforrások létrehozása az Azure-ban .
  • A CI-/CD-munkafolyamatok konfigurálása – A CI/CD-munkafolyamatok paramétereinek konfigurálása és tárolása a GitHub titkos kulcsaiban.
  • Végigvezeti a "fejlesztői belső hurokon" – A fejlesztő frissítéseket készít egy minta LUIS-alkalmazáshoz, miközben egy fejlesztési ágban dolgozik, teszteli a frissítéseket, majd lekéréses kérelmet küld a módosítások javaslatára és a felülvizsgálat jóváhagyásának kérelmezésére.
  • CI-/CD-munkafolyamatok végrehajtása – Folyamatos integrációs munkafolyamatok végrehajtása LUIS-alkalmazások gitHub Actions használatával történő létrehozásához és teszteléséhez.
  • Automatizált tesztelés végrehajtása – Automatikus kötegtesztelés végrehajtása LUIS-alkalmazáshoz az alkalmazás minőségének kiértékeléséhez.
  • A LUIS-alkalmazás üzembe helyezése – Folyamatos kézbesítési (CD) feladat végrehajtása a LUIS-alkalmazás közzétételéhez.
  • Az adattár használata saját projekttel – Ez a cikk bemutatja, hogyan használhatja az adattárat a saját LUIS-alkalmazásával.

Következő lépések