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 módosítások fontos ágakba való egyesítése mindig lekéréses kérelmek használatával történik.
- A lekéréses kérelmekhez minimális számú felülvizsgáló szükséges.
- A kód véleményezőinek automatikus felvétele.
- A csatolt munkaelemek keresése lehetővé teszi a nyomon követhetőség megőrzését.
- A megjegyzésfeloldás ellenőrzése ellenőrzi, hogy az összes pr-megjegyzés feloldva van-e.
- Az egyesítési típusok korlátozása.
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.