Ci/CD-munkafolyamat manuális konfigurálása terheléstesztek futtatásához

Ci/CD-folyamat létrehozásával automatizálhatja a terheléstesztelést az Azure Load Testingben. Ebből a cikkből megtudhatja, hogyan konfigurálhatja manuálisan a GitHub Actionst, az Azure Pipelinest vagy más CI-eszközöket egy meglévő teszt meghívásához az Azure Load Testingben. Terhelésteszt automatizálása az alkalmazás teljesítményének és stabilitásának folyamatos ellenőrzéséhez terhelés alatt.

Meglévő terhelési teszt hozzáadása CI/CD-folyamathoz:

  • Konfigurálja a szolgáltatáshitelesítést, hogy a CI-eszköz csatlakozzon az Azure terheléstesztelési erőforrásához.
  • Adjon hozzá terhelésteszt bemeneti fájlokat az adattárhoz, például a JMeter tesztszkriptet és a terhelésteszt YAML-konfigurációját.
  • Frissítse a CI/CD-folyamatdefiníciót az Azure Load Testing meghívásához.

Előfeltételek

  • Egy Azure DevOps-szervezet és -projekt. Ha nem rendelkezik Azure DevOps-szervezettel, ingyenesen létrehozhat egyet. Ha segítségre van szüksége az Azure Pipelines használatának megkezdéséhez, olvassa el az első folyamat létrehozása című témakört.

Szolgáltatáshitelesítés konfigurálása

Ha terheléstesztet szeretne futtatni a CI/CD-munkafolyamatban, engedélyt kell adnia a CI/CD munkafolyamatnak a terheléstesztelési erőforrás eléréséhez. Hozzon létre egy egyszerű szolgáltatást a CI/CD-munkafolyamathoz, és rendelje hozzá a Terhelésteszt közreműködője Azure RBAC-szerepkört.

Szolgáltatáskapcsolat létrehozása az Azure Pipelinesban

Az Azure Pipelinesban szolgáltatáskapcsolatot hoz létre az Azure DevOps-projektben az Azure-előfizetés erőforrásainak eléréséhez. A szolgáltatáskapcsolat létrehozásakor az Azure DevOps létrehoz egy Microsoft Entra szolgáltatásnév objektumot.

  1. Jelentkezzen be az Azure DevOps-szervezetbe (https://dev.azure.com/<your-organization>), és válassza ki a projektet.

    Cserélje le a <your-organization> szöveges helyőrzőt a projektazonosítóra.

  2. Válassza a Projektbeállítások>Szolgáltatáskapcsolatok>+ Új szolgáltatáskapcsolat lehetőséget.

  3. Az Új szolgáltatáskapcsolat panelen válassza az Azure Resource Managert, majd a Tovább lehetőséget.

  4. Válassza ki a Szolgáltatásnév (automatikus) hitelesítési módszert, majd válassza a Tovább gombot.

  5. Adja meg a szolgáltatáskapcsolat részleteit, majd válassza a Mentés lehetőséget a szolgáltatáskapcsolat létrehozásához.

    Mező Value
    Hatókör szintje Előfizetés.
    Előfizetés Válassza ki a terheléstesztelési erőforrást üzemeltető Azure-előfizetést.
    Erőforráscsoport Válassza ki a terheléstesztelési erőforrást tartalmazó erőforráscsoportot.
    Szolgáltatáskapcsolat neve Adja meg a szolgáltatáskapcsolat egyedi nevét.
    Hozzáférési engedély megadása az összes folyamathoz Ellenőrizni.
  6. A szolgáltatáskapcsolatok listájában válassza ki a korábban létrehozottat, majd válassza a Szolgáltatásnév kezelése lehetőséget.

    Screenshot that shows selections for managing a service principal.

    Az Azure Portal egy külön böngészőlapon nyílik meg, és megjeleníti a szolgáltatásnév részleteit.

  7. Az Azure Portalon másolja ki a Megjelenítendő név értékét.

    Ezt az értéket használja a következő lépésben, hogy engedélyeket adjon a terheléstesztek futtatásához a szolgáltatásnévnek.

Hozzáférés biztosítása az Azure Load Testinghez

Az Azure Load Testing az Azure RBAC használatával biztosít engedélyeket adott tevékenységek végrehajtásához a terheléstesztelési erőforráson. A CI/CD-folyamat terheléstesztjének futtatásához adja meg a terhelésteszt közreműködői szerepkörét a szolgáltatásnévnek.

  1. Az Azure Portalon nyissa meg az Azure Load Testing-erőforrást.

  2. Válassza a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása>lehetőséget.

  3. A Szerepkör lapon válassza a Feladatfüggvény-szerepkörök listájában a Közreműködő betöltése teszt lehetőséget.

    Screenshot that shows the list of roles in the Add role assignment page in the Azure portal, highlighting the Load Test Contributor role.

  4. A Tagok lapon válassza a Tagok kijelölése lehetőséget, majd használja a korábban másolt megjelenítendő nevet a szolgáltatásnévben való kereséshez.

  5. Válassza ki a szolgáltatásnevet, majd válassza a Kiválasztás lehetőséget.

  6. A Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a szerepkör-hozzárendelés hozzáadásához.

Most már használhatja a szolgáltatáskapcsolatot az Azure Pipelines munkafolyamat-definíciójában az Azure terheléstesztelési erőforrás eléréséhez.

Betöltési tesztfájlok hozzáadása az adattárban

Ha egy CI/CD-munkafolyamatban szeretne terheléstesztet futtatni az Azure Load Testing használatával, hozzá kell adnia az összes betöltési teszt bemeneti fájlját a forrásvezérlő tárházához.

Ha nem rendelkezik meglévő terhelési teszttel, adja hozzá a következő fájlokat a forráskódtárhoz:

  • Terhelésteszt konfigurációs YAML-fájl. Megtudhatja, hogyan hozhat létre terhelésteszt-konfigurációs YAML-fájlt.
  • Teszttervfájl. JMeter-alapú tesztekhez adjon hozzá egy JMeter-tesztszkriptet (JMX fájlt). URL-alapú tesztekhez adjon hozzá egy kérelem JSON-fájlt.
  • Bármely JMeter-felhasználó tulajdonságfájlja.
  • A tesztterv által használt bemeneti adatfájlok. Például CSV-adatfájlok.

Ha már rendelkezik terheléses teszttel, a konfigurációs beállításokat és az összes bemeneti fájlt közvetlenül az Azure Portalról töltheti le. Az alábbi lépéseket követve töltse le a bemeneti fájlokat egy meglévő terhelésteszteléshez az Azure Portalon:

  1. Az Azure Portalon nyissa meg az Azure Load Testing-erőforrást.

  2. A bal oldali panelen válassza a Tesztek lehetőséget a terheléses tesztek listájának megtekintéséhez, majd válassza ki a tesztet.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

  3. Válassza ki a tesztfuttatás melletti három pontot (...), majd válassza a Bemeneti fájl letöltése lehetőséget.

    A böngésző letölt egy tömörített mappát, amely tartalmazza a terhelésteszt bemeneti fájljait.

    Screenshot that shows how to download the results file for a load test run.

  4. A bemeneti fájlok kinyeréséhez használjon bármilyen zip-eszközt.

    A mappa a következő fájlokat tartalmazza:

    • config.yaml: a terhelésteszt YAML konfigurációs fájlja. Erre a fájlra a CI/CD munkafolyamat-definíciójában hivatkozhat.
    • .jmx: a JMeter tesztszkript
    • A terhelési teszt futtatásához szükséges további bemeneti fájlok, például CSV-fájlok vagy felhasználói tulajdonságok fájljai.
  5. Véglegesítse az összes kinyert bemeneti fájlt a forrásvezérlő adattárba.

    Használja azt a forráskódtárat, amelyben a CI/CD-folyamatot konfigurálja.

A CI/CD munkafolyamat-definíciójának frissítése

Az Azure Load Testing a GitHub Actionst és az Azure Pipelinest is támogatja a terheléstesztek futtatásához.

Az Azure DevOps Azure Load Testing bővítményének telepítése

Terhelési teszt létrehozásához és futtatásához az Azure Pipelines munkafolyamat-definíciója az Azure DevOps Marketplace Azure Load Testing feladatbővítményét használja.

  1. Nyissa meg az Azure Load Testing feladatbővítményt az Azure DevOps Marketplace-en, és válassza az Ingyenes lekérés lehetőséget.

  2. Válassza ki az Azure DevOps-szervezetet, majd válassza az Install (Telepítés) lehetőséget a bővítmény telepítéséhez.

    Ha nem rendelkezik rendszergazdai jogosultságokkal a kijelölt Azure DevOps-szervezethez, válassza a Kérés lehetőséget, amely rendszergazda segítségét kéri a bővítmény telepítéséhez.

Az Azure Pipelines munkafolyamatának frissítése

Frissítse az Azure Pipelines-munkafolyamatot, hogy lefuttasson egy terheléstesztet az Azure-beli terheléstesztelési erőforráshoz.

  1. Jelentkezzen be az Azure DevOps-szervezetbe (https://dev.azure.com/<your-organization>), és válassza ki a projektet.

  2. Válassza ki a folyamatok lehetőséget a bal oldali navigációs sávon, válassza ki a folyamatot, majd válassza a Szerkesztés lehetőséget a munkafolyamat-definíció szerkesztéséhez.

    Másik lehetőségként válassza a Folyamat létrehozása lehetőséget egy új folyamat létrehozásához az Azure Pipelinesban.

  3. AzureLoadTest A feladat használatával futtassa a terhelési tesztet.

    Adja meg a tulajdonságban korábban exportált terhelésteszt konfigurációs fájlját loadTestConfigFile .

    Cserélje le a és <load-testing-resource-group> szöveges <load-testing-resource> helyőrzőket az Azure terheléstesztelési erőforrásának és az erőforráscsoportnak a nevére.

        - task: AzureLoadTest@1
          inputs:
            azureSubscription: $(serviceConnection)
            loadTestConfigFile: 'config.yaml'
            loadTestResource: <load-testing-resource>
            resourceGroup: <load-testing-resource-group>
    

    Opcionálisan paramétereket vagy titkos kulcsokat is átadhat a terhelési tesztnek a tulajdonság vagy secrets a env tulajdonság használatával.

  4. publish A feladat használatával a teszteredményeket összetevőkként teheti közzé az Azure Pipelines-munkafolyamat-futtatásban.

        - publish: $(System.DefaultWorkingDirectory)/loadTest
          artifact: loadTestResults
    

Terhelésteszt eredményeinek megtekintése

Amikor betöltési tesztet futtat a CI/CD-folyamatból, az összefoglaló eredményeket közvetlenül a CI/CD kimeneti naplójában tekintheti meg. Ha a teszteredményeket folyamatösszetevőként tette közzé, egy CSV-fájlt is letölthet a további jelentéskészítéshez.

Screenshot that shows the workflow logging information.

Clean up resources

Ha nem tervezi használni a létrehozott erőforrásokat, törölje őket, hogy ne járjon további költségekkel.

  1. Az Azure Pipelines módosításainak eltávolítása:

    1. Jelentkezzen be az Azure DevOps-szervezetbe (https://dev.azure.com/<your-organization>), és válassza ki a projektet.

      Cserélje le a <your-organization> szöveges helyőrzőt a projektazonosítóra.

    2. Ha új folyamatot hozott létre":

      1. Válassza a Folyamatok lehetőséget, majd válassza ki a folyamatot.

      2. Jelölje ki a három pontot, majd válassza a Törlés lehetőséget.

        Screenshot that shows how to delete an Azure Pipelines definition.

      3. Adja meg a folyamat nevét, majd válassza a Törlés lehetőséget a folyamat törléséhez.

    3. Ha módosított egy meglévő munkafolyamat-definíciót, vonja vissza a terhelési teszt futtatásához szükséges módosításokat, és mentse a munkafolyamatot.

  2. Távolítsa el a szolgáltatáskapcsolatot:

    1. Válassza a Projektbeállítások>szolgáltatáskapcsolatok lehetőséget, majd válassza ki a szolgáltatáskapcsolatot.
    2. Válassza a Törlés szerkesztése lehetőséget>a szolgáltatáskapcsolat eltávolításához.

További lépések

A következő cikkből megtudhatja, hogyan azonosíthatja a teljesítményregressziókat a teszt sikertelenségére vonatkozó feltételek meghatározásával és a tesztfuttatások összehasonlításával.