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


Javaslatok a buildelési sebesség javításához

Az Azure Well-Architected Framework működési kiválósági ellenőrzőlistájára vonatkozó javaslatra vonatkozik:

OE:04 Optimalizálja a szoftverfejlesztési és minőségbiztosítási folyamatokat az iparágban bevált fejlesztési és tesztelési eljárások követésével. Az egyértelmű szerepkör-megjelölés érdekében szabványosítsa a különböző összetevőkre vonatkozó eljárásokat, például az eszközkezelést, a verziókövetést, az alkalmazástervezési mintákat, a dokumentációt és a stíluskalauzokat.

Kapcsolódó útmutatók: Javaslatok az eszközök és folyamatok | szabványosításához Javaslatok a folyamatos integráció használatához

Ez az útmutató az üzembehelyezési infrastruktúra teljesítményének javítására vonatkozó javaslatokat ismerteti. Fontos, hogy a termékfejlesztés első napján létrejöjjön és fusson egy buildelési folyamat. A buildek a folyamatos kézbesítési rendszer szívverését jelzik, mivel a build állapota akkor jelenik meg, ha a termék üzembe helyezhető. A buildek kulcsfontosságú információkat nyújtanak a termék állapotáról, ezért mindig törekedjen a gyors buildekre.

Ha a buildelés hosszabb időt vesz igénybe, nehéz megoldani a buildelési problémát. Ha késések történnek, és normalizálódnak, a csapatok általában kevésbé motiváltak a probléma megoldására.

Kulcsfontosságú tervezési stratégiák

Létrehozási idők

A gyorsabb buildeléshez a következőket teheti:

  • Válassza ki azokat az ügynököket, amelyek megfelelnek a teljesítménykövetelményeknek: A megfelelő buildelési gépek kiválasztásával felgyorsíthatja a buildeket. A gyors gépek különbséget tehetnek az órák és percek között. Ha a folyamatok az Azure Pipelinesban találhatók, a feladatokat egy Microsoft által üzemeltetett ügynökkel futtathatja. A Microsoft által üzemeltetett ügynökök használatakor a karbantartásról és a frissítésekről gondoskodunk. További információért lásd: Microsoft által üzemeltetett ügynökök.

  • A buildkiszolgáló helyének optimalizálása: A kód létrehozásakor a rendszer az adatokat a hálózaton keresztül küldi el. A buildek bemeneteit a rendszer egy forrásvezérlési adattárból és az összetevő-adattárból olvassa be. A buildelési folyamat kimenetét át kell másolni, beleértve a lefordított összetevőket, a tesztjelentéseket, a kódlefedettségi eredményeket és a hibakeresési szimbólumokat. Fontos, hogy ezek a másolási műveletek gyorsan fussanak. Ha saját buildkiszolgálót használ, győződjön meg arról, hogy a buildkiszolgáló a források és a célhely közelében található. A gyors feltöltések és letöltések csökkenthetik a buildelési időt.

  • Buildkiszolgálók vertikális felskálázása: Egy önálló buildkiszolgáló elegendő lehet egy kis termékhez. Mivel a termék mérete és hatóköre, valamint a terméken dolgozó csapatok száma nő, előfordulhat, hogy egyetlen kiszolgáló nem elegendő. Ha eléri a korlátot, horizontálisan skálázza az infrastruktúrát több gépre. További információ: Ügynökkészletek létrehozása és kezelése.

  • A build optimalizálása:

    • Párhuzamos feladatok hozzáadása a létrehozási folyamat felgyorsításához. További információ: Párhuzamos feladatok konfigurálása és kifizetése.

    • Párhuzamos tesztcsomag-futtatások engedélyezése, ami gyakran sok időt takarít meg, különösen integrációs és felhasználói felületi tesztek futtatásakor. További információ: Tesztfuttatók párhuzamos futtatása.

    • Használja a szorzó fogalmát, ahol több fordítóügynökre skálázhatja fel a buildeket. További információért lásd: Feladatok meghatározása a folyamatban.

    • Fontolja meg az integrációs, felhasználói felületi és füsttesztek kiadási folyamatba való áthelyezését. A kiadási folyamatra való áttérés javítja a buildelési sebességet és a buildvisszajelzési hurok sebességét.

    • Tegye közzé a buildösszetevőket egy csomagkezelési megoldásban, például a NuGetben vagy a Mavenben. A csomagkezelési megoldásban való közzétételsel könnyebben újra felhasználhatja a buildösszetevőt.

Emberi beavatkozás

A szervezet dönthet úgy, hogy több különböző típusú buildet hoz létre a buildelési idők optimalizálása érdekében. A lehetséges buildek a következők:

  • Folyamatos integrációs (CI) build: Ennek a buildnek az a célja, hogy biztosítsa a kód fordítását és az egységtesztek futtatását. Ez a build minden véglegesítésnél aktiválódik. A projekt szívveréseként szolgál, és azonnal minőségi visszajelzést ad a csapatnak. További információ: Folyamatok eseményindító eseményeinek megadása.

  • Éjszakai build: Az éjszakai buildek célja nem csupán a kód fordítása, hanem a nagyobb, nem hatékony tesztcsomagok rendszeres futtatása az egyes buildekhez. Ezek a tesztek általában integrációs, felhasználói felületi vagy füstteszteket tartalmaznak. További információ: Ütemezések konfigurálása folyamatokhoz.

  • Kiadási build: A tesztek összeállítása és futtatása mellett ez a build az API-dokumentációt, a megfelelőségi jelentéseket, a kódaláírást és egyéb lépéseket is lefordítja, amelyek nem szükségesek a kód minden létrehozásakor. Ez a build biztosítja a kiadási folyamatba leküldett aranymásolatot, hogy végül üzembe helyezhesse az éles környezetben.

A szervezet által igényelt buildtípusok olyan tényezőktől függnek, mint a csapat és a szervezet érettsége, a termék típusa, amelyen dolgozik, valamint az üzembehelyezési stratégia.

Azure-beli segítségnyújtás

Az Azure DevOps olyan szolgáltatások gyűjteménye, amelyek segítenek egy együttműködési, hatékony és konzisztens fejlesztési gyakorlat kialakításában.

Az Azure Pipelines használatával olyan szolgáltatásokat hozhat létre és bocsáthat ki, amelyek támogatják az alkalmazások folyamatos integrációját és folyamatos kézbesítését (CI/CD).

Az azure-hoz készült GitHub Actions használatával automatizálhatja a CI-/CD-folyamatokat, és közvetlenül integrálható az Azure-ral az üzembe helyezés egyszerűsítése érdekében. Létrehozhat olyan munkafolyamatokat is, amelyek minden lekéréses kérelmet létrehoznak és tesztelnek az adattárban, vagy egyesített lekéréses kérelmeket helyeznek üzembe éles környezetben az Azure-hoz készült GitHub Actions használatával.

A Microsoft által üzemeltetett ügynökök natív módon érhetők el az Azure Pipelinesban. Ezek az ügynökök olyan egyszer használatos virtuális gépek, amelyeket csak egy feladathoz használnak, majd elvetnek, ami könnyen kezelhető lehetőséget biztosít a buildekhez.

Működési kiválósági ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.