Megosztás a következőn keresztül:


DevTest Labs és DevOps CI/CD-folyamatok integrálása

A DevOps egy szoftverfejlesztési módszertan, amely integrálja a szoftverfejlesztést (Dev) a rendszerműveletekkel (Ops). A rendszer új szoftverfunkciókat, frissítéseket és javításokat biztosít, amelyek megfelelnek az üzleti céloknak.

A DevOps módszertana a következőket is magában foglalja:

  • Új funkciók tervezése a célok, a használati minták és az ügyfelek visszajelzései alapján.
  • Probléma esetén a rendszer javítása, helyreállítása és megerősítése.

A DevOps-módszertan egyik összetevője a folyamatos integrációs (CI) és a folyamatos kézbesítési (CD) folyamat. A CI/CD-folyamatok a rendszer előállításának lépésein keresztül áthelyezik az információkat, a kódot és az erőforrásokat egy forrásvezérlő véglegesítéséből. A lépések közé tartozik a buildelés, a tesztelés és a kiadás.

A CI/CD-folyamatokban Azure DevTest Labs használhat. Ez a cikk a DevTest Labs használatát ismerteti a CI/CD buildelési és kiadási folyamatokban vállalati környezetben.

A DevTest Labs előnyei a DevOps-munkafolyamatokban

A tesztkörnyezetnek egy funkcióterületen dolgozó csapatra kell összpontosítania. Ez a gyakori fókusz gyorsabb módosításokat tesz lehetővé, miközben a negatív hatásokat kisebb csoportokra korlátozza. A változások vagy problémák a tesztkörnyezetben történnek anélkül, hogy bármi másra hatással lenne.

A közös fókusz lehetővé teszi a területspecifikus erőforrások, például az eszközök, a szkriptek és az Azure Resource Manager (ARM) sablonjainak megosztását. A fejlesztők megosztott erőforrások használatával virtuális gépeket (VM-eket) hozhatnak létre az összes szükséges kóddal, eszközzel és konfigurációval. Az ARM-sablonok tesztkörnyezeti virtuális gépeket és tesztkörnyezeteket hoznak létre a megfelelő Azure-erőforrásokkal. A sablonok dinamikusan vagy alaprendszerképek testreszabásával hoznak létre erőforrásokat.

Vegyük például azt a forgatókönyvet, amikor a termék egy különálló rendszer, amely az ügyfél gépére települ. A DevTest Labs olyan tesztkörnyezeti virtuális gépeket hozhat létre, amelyeken ügyfélszoftver, összetevők és konfigurációk vannak telepítve, a belső hurokkód gyors teszteléséhez.

A tesztkörnyezetek DevOps-munkafolyamatokban való használatának néhány előnye:

  • Szűrt hozzáférés: A tesztkörnyezet összetevőként való használata egy adott ökoszisztémát társít korlátozott emberekkel. Általában egy közös területen vagy egy adott szolgáltatásban dolgozó csapat vagy csoport rendelkezik hozzájuk hozzárendelt tesztkörnyezettel.

  • Infrastruktúra-replikáció a felhőben: A fejlesztők gyorsan beállíthatnak egy fejlesztői ökoszisztémát, amely tartalmaz egy fejlesztői virtuális gépet, forráskóddal és eszközökkel. A fejlesztők az éles konfigurációval szinte azonos környezetet is létrehozhatnak a gyorsabb belső hurokfejlesztés érdekében.

  • Éles üzem előtti környezetek: A CI/CD-folyamat tesztkörnyezetei egyszerre több különböző üzem előtti környezetet vagy gépeket is futtathatnak aszinkron teszteléshez. Különböző támogatási infrastruktúrákat helyezhet üzembe és kezelhet, és ügynököket hozhat létre egy tesztkörnyezetben.

Tesztkörnyezetek használata CI/CD-folyamatokban

A CI/CD-folyamat kritikus DevOps-összetevő. A folyamat integrálja a fejlesztői lekéréses kérelemből származó kódot a meglévő kóddal, és üzembe helyezi a kódot az éles ökoszisztémában. A DevTest Labs integrációjához nem minden erőforrásnak kell egy tesztkörnyezetben lennie. Beállíthat például egy Jenkins-gazdagépet a tesztkörnyezeten kívül egy állandóbb erőforráshoz. Íme néhány konkrét példa a tesztkörnyezetek CI/CD-folyamatba való integrálására.

Létrehozás

A buildelési folyamat létrehoz egy összetevőkből álló csomagot, amely együtt teszteli és átadja a kiadást. Az infrastruktúra dinamikus kiépítése nagyobb kontrollt tesz lehetővé. A tesztkörnyezetek a buildelési folyamat részei lehetnek a buildügynökök és egyéb támogatási erőforrások helyeként. A DevTest Labs korlátozhatja a tesztkörnyezetek hozzáférését, ami növeli a buildügynökök biztonságát, és csökkenti a véletlen sérülés lehetőségét.

Ha egy tesztkörnyezetben több környezet is van, mindegyik build aszinkron módon futtatható. A buildazonosító a környezeti információk része, amely egyedileg azonosítja az adott build erőforrásait.

Tesztelés

A CI/CD-folyamatok automatizálhatják a DevTest Labs-erőforrások, például virtuális gépek és környezetek létrehozását az automatizált és manuális teszteléshez. A folyamat buildinformációs összetevőket vagy képleteket használ a különböző egyéni tesztkonfigurációkkal rendelkező virtuális gépek létrehozásához.

Kiadás

A kiadási folyamat a DevTest Labs használatával ellenőrizheti a kód üzembe helyezése előtt. A folyamat hasonló a teszteléshez. Az éles erőforrásokat nem szabad üzembe helyezni a DevTest Labsban.

Testreszabás

Az Azure DevOps Services egyik összetevője, az Azure Pipelines meglévő feladatokkal rendelkezik a virtuális gépek és környezetek adott tesztkörnyezeteken belüli módosítására. Az Azure Pipelines a CI/CD-folyamat kezelésének egyik módja. A tesztkörnyezetet bármely olyan rendszerbe integrálhatja, amely támogatja a REST API-k hívását, a PowerShell-szkriptek végrehajtását vagy az Azure CLI használatát.

Egyes CI/CD-folyamatkezelők meglévő nyílt forráskódú beépülő modulokkal rendelkeznek, amelyek képesek kezelni az Azure- és DevTest Labs-erőforrásokat. Előfordulhat, hogy egyéni szkriptelést kell használnia a folyamat igényeinek megfelelően. Feladat végrehajtásakor a tesztkörnyezet eléréséhez használjon egy megfelelő szerepkörrel (általában Közreműködő) rendelkező szolgáltatásnevet.

Következő lépések