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


Fejlesztési életciklus

A fejlesztési életciklus-stratégia kulcsfontosságú tervezési szempontokat és javaslatokat kínál az adattár, az ág, az automatizált buildek, az üzembe helyezés és a visszaállítási stratégia számára az automatikus kezdőzóna létrehozása során.

Adattárstratégia

Kialakítási szempontok

  • Fontolja meg egy olyan verziókövetési rendszer bevezetését, mint a Git, hogy a csapat rugalmasságot biztosítson a kódmegosztás és -kezelés terén.

    • A Git az iparági szabványnak megfelelő verziókövetési rendszer. Ez egy elosztott verziókövetési rendszer, ahol a kód helyi példánya az adattár teljes verziója.
  • A mono-adattár és a többrepo adattár struktúrájának ismertetése.

    • A mono-repo struktúrákban az összes forráskód egyetlen adattárban található.
    • A többrepós struktúrákban minden projekt külön adattárakba van rendezve.
  • Válasszon egy olyan láthatósági beállítást, amely megfelel az adattár tartalmának.

    • A nyilvános adattárak névtelenül is elérhetők.
    • A magánadattárak megkövetelik, hogy a felhasználók hozzáférést kapjanak az adattárhoz, és be kell jelentkezniük a szolgáltatások eléréséhez.
    • Nyilvános és privát láthatóságot állíthat be az Azure DevOps-projektekhez és a GitHub-adattárakhoz.
  • Fontolja meg az adattár engedélyeinek beállítását, amelyek segítenek szabályozni, hogy ki járulhat hozzá a forráskódhoz, és kezelje az egyéb funkciókat.

    • Az Azure DevOpshoz és a GitHubhoz adattárengedélyeket állíthat be.
  • Fontolja meg az Infrastruktúra kódként (IaC) erőforrás üzembe helyezését az Azure-ban. Az IaC lehetővé teszi az infrastruktúra deklaratív modellben való kezelését, segít csökkenteni a konfigurációs erőfeszítéseket, biztosítani az üzembe helyezések közötti konzisztenciát, és elkerülni a manuális környezetkonfigurációt.

  • Az Azure a következő lehetőségeken keresztül nyújt támogatást a kezdőzónákhoz készült IaC-hez:

Tervezési javaslatok

  • A Git használata verziókövetési rendszerként.

  • Privát adattárak használata az Azure Landing Zones létrehozásakor

  • Nyilvános adattárak használata nem bizalmas információk, például automatizálási példák, nyilvános dokumentáció és nyílt forráskódú együttműködési anyagok megosztásakor.

  • IaC-megközelítés bevezetése a felhőbeli erőforrások üzembe helyezéséhez, kezeléséhez, szabályozásához és támogatásához.

Ágstratégia

Kialakítási szempontok

  • Fontolja meg egy olyan ágstratégia használatát, amely lehetővé teszi a csapatok számára a hatékonyabb és hatékonyabb verziókövetést.

  • Fontolja meg adott elnevezési konvenciók használatát az ágakhoz.

  • Fontolja meg az ágengedélyek használatát a felhasználói képességek szabályozásához.

  • Fontolja meg a fiókszabályzatok használatát, hogy segítse a csapatokat a fontos fejlesztési ágak védelmében. Szabályzatok, amelyek segítenek érvényesíteni a kódminőséget és a változáskezelési szabványokat. Az ágszabályzatok például a következők:

  • A lekéréses kérelmek stratégiájának bevezetése segíthet az ágakba egyesített kódmódosítások szabályozásában.

    • Egyesítési stratégia definiálása.
    • A lekéréses kérelmeknek egyszerűnek kell lenniük, és a fájlok számának minimálisra kell esnie, hogy a véleményezők hatékonyabban tudják ellenőrizni a véglegesítéseket és a módosításokat.
    • A lekéréses kérelmeknek egyértelmű címekkel és leírásokkal kell rendelkezniük, hogy a véleményezők tudják, mire számíthatnak a kód áttekintésekor.
    • Lekéréses kérelemsablonokat is használhat.
    • A lekéréses kérelmek befejeződése után törölheti a forráságakat, ami nagyobb felügyeletet és jobb ágkezelést biztosít.

Tervezési javaslatok

  • Egy törzsalapú fejlesztési modell bevezetése, amelyben a fejlesztők egyetlen ágra vállalnak kötelezettséget. Ez a modell elősegíti a folyamatos integrációt. A csomagtartóban minden funkció működik, és az egyesítési ütközések feloldódnak a véglegesítés során.

  • A csapatokat konzisztens elnevezési konvenciókkal kell meghatároznia és használnia az ágakhoz az elvégzett munka azonosításához.

  • Engedélyek beállítása annak szabályozásához, hogy ki olvashatja és frissítheti a kódot a Git-adattár egy ágában. Egyéni felhasználókra és csoportokra vonatkozó engedélyeket állíthat be.

  • Ágszabályzatok beállítása:

    • Lekéréses kérelmek használatának megkövetelése az ág fő ágba való egyesítéséhez.
    • A lekéréses kérelmekhez minimális számú felülvizsgálóra van szükség.
    • Állítsa alaphelyzetbe az összes jóváhagyási szavazatot, hogy eltávolítsa az összes jóváhagyási szavazatot, de tartsa meg a szavazatokat az elutasításra vagy várakozásra, amikor egy forráság megváltozik.
    • Automatikusan belefoglalja a kód véleményezőit.
    • Ellenőrizze, hogy van-e megjegyzésfeloldás.
  • Állítsa be a squash egyesítési stratégiát, amely lehetővé teszi a témakörágak Git-előzményeinek összevonását a lekéréses kérelmek teljesítésekor. Ahelyett, hogy egy témakörág összes véglegesítését hozzáadja az alapértelmezett ág előzményeihez, a fallabda-egyesítés az összes fájlmódosítást egyetlen új véglegesítéshez adja hozzá az alapértelmezett ágon.

Automatizált buildek

Kialakítási szempontok

  • Fontolja meg a folyamatos integráció (CI) megvalósítását. A CI magában foglalja az összes fejlesztői kód központi kódbázisba való egyesítését rendszeres ütemezés szerint, valamint a szabványos buildek és tesztelési folyamatok automatikus végrehajtását.

  • Fontolja meg a CI-eseményindítók használatát:

    • Azure Repos Git. A CI-buildek futtatásához az ágakat, útvonalakat és címkéket triggerként konfigurálhatja.
    • GitHub. A CI-buildek futtatásához ágakat, útvonalakat és címkéket is konfigurálhat.
  • Fontolja meg az IaC-egységtesztek beépítése a buildelési folyamatba a szintaxis érvényesítéséhez.

    • Az ARM-sablonok tesztelési eszközkészlete ellenőrzi, hogy egy sablon megfelel-e az ajánlott eljárásoknak.
    • A Bicep linter szintaxishibákat és ajánlott eljárásokat keres a Bicep-fájlokban.
  • Fontolja meg az egységtesztek beépítése az alkalmazás buildelési folyamatba. Tekintse át az Azure DevOps Pipeline-hoz elérhető feladatokat.

  • Azure DevOps-szolgáltatáskapcsolatok vagy GitHub-titkos kódok használatával kezelheti az Azure-beli kapcsolatokat. Minden kapcsolatnak megfelelő jogosultsági hozzáféréssel kell rendelkeznie az Azure-erőforrásokhoz.

  • Fontolja meg az Azure Key Vault titkos kulcsainak használatát bizalmas információk, például jelszavak, API-kulcsok, tanúsítványok tárolására és kezelésére.

  • Az Azure DevOps-ügynökök lehetnek saját üzemeltetésűek vagy Microsoft által üzemeltetettek.

    • A Microsoft által üzemeltetett ügynökök használatakor a karbantartásról és a frissítésekről ön gondoskodik. Minden buildelési feladat futtatásakor létrejön egy új virtuális gép.
    • A saját üzemeltetésű ügynököket saját maga állíthatja be és kezelheti buildelési feladatok futtatásához.

Tervezési javaslatok

  • A CI használatával automatizálhatja a buildeket és a kód tesztelését minden alkalommal, amikor egy csapattag módosításokat véglegesít a verziókövetésben.

  • A buildelési folyamat részeként adja meg az IaC-hez és az alkalmazáskódhoz tartozó egységteszteket.

  • Ha lehetséges, használja a Microsoft által üzemeltetett készletet a saját üzemeltetésű készletek helyett, mivel ezek elkülönítést és tiszta virtuális gépet biztosítanak minden folyamatfuttatáshoz.

  • Ha szolgáltatáskapcsolatokon vagy GitHub-titkos kódokon keresztül csatlakoztatja az Azure DevOpst vagy a GitHubot az Azure-hoz, mindig határozza meg a hatókört, hogy csak a szükséges erőforrásokhoz férhessenek hozzá.

  • A Key Vault titkos kulcsainak használatával elkerülheti a bizalmas adatok, például a hitelesítő adatok (a virtuális gép felhasználói jelszavai), a tanúsítványok vagy kulcsok szigorú kódolását. Ezután használjon titkos kulcsokat változóként a buildelési és kiadási feladatokban.

Üzembe helyezési stratégia

Kialakítási szempontok

  • Fontolja meg a Folyamatos kézbesítés (CD) használatát. A CD magában foglalja a buildből környezetbe történő létrehozást, tesztelést, konfigurálást és üzembe helyezést.

  • Fontolja meg a környezetek használatát. A környezetek lehetővé teszik, hogy egy kézbesítési feladatból származó erőforrások gyűjteményét célozhassa meg. Gyakori környezetnevek például a következők:

    • Dev
    • Teszt
    • QA
    • Előkészítés
    • Termelés
  • Fontolja meg az IaC használatát a stratégia részeként a módosítások üzembe helyezés előtti ellenőrzéséhez és megerősítéséhez.

Tervezési javaslatok

  • A CD-vel gondoskodhat arról, hogy a kód mindig készen álljon a telepítésre a kód éles környezetekben történő automatikus létrehozásával, tesztelésével és üzembe helyezésével. Folyamatos teljesítés hozzáadása egy teljes CI/CD-integráció létrehozásához, amely segít a kódhibák minél korábbi észlelésében, és biztosítja a megfelelően tesztelt frissítések gyors kiadását.

  • Környezetek használata az üzembe helyezési stratégia részeként. A környezetek a következő előnyöket biztosítják:

    • Üzembe helyezési előzmények
    • Véglegesítések és munkaelemek nyomon követhetősége
    • Diagnosztikai erőforrás állapota
    • Biztonság
  • Az üzembe helyezés előtti IaC-ellenőrzéseket is belefoglalva megtekintheti a módosítások előnézetét, és megtekintheti az erőforrás létrehozásának, módosításának vagy törlésének részleteit.

Visszaállítási stratégia

Kialakítási szempontok

  • Fontolja meg a visszaállítási terv létrehozását. Az üzembe helyezés visszaállításához vissza kell állítani az üzembe helyezést egy ismert jó állapotba, és kulcsfontosságú lehetőséget biztosít a sikertelen üzembe helyezés utáni helyreállításhoz.

  • Fontolja meg a visszavonási módosítások használatát a Gitben, ha vissza kell állítania egy véglegesítés módosításait, el kell vetnie a módosításokat, vagy alaphelyzetbe kell állítania egy ágat egy korábbi állapotba.

Tervezési javaslatok

  • Visszavont módosítások használata a Gitben, ha vissza kell állítania a módosításokat a véglegesített fájlokra, el kell vetnie a nem véglegesített módosításokat, vagy alaphelyzetbe kell állítania egy ágat egy korábbi állapotba.