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
A forráskódkezelő (SCM) rendszerben konfigurálja az automatizált buildelési folyamatokat a következő események futtatásához:
- 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.
- 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
Megtudhatja, hogyan írhat GitHub Actions-munkafolyamatot az NLU használatával. DevOps
Használja a LUIS DevOps-sablon adattárát a DevOps saját projekttel való alkalmazásához.