CI/CD implementálása az Azure SQL Database-hez

Befejeződött

Most már tudja, hogyan helyezheti üzembe, konfigurálhatja és használhatja az Azure SQL Database-t egy modern alkalmazás erős alapjainak létrehozásához. Az alkalmazáskövetelmények folyamatosan fejlődnek és változnak, ezért a következő lépés az adatbázis szükség szerinti frissítésének megismerése. A fejlesztési műveletek (DevOps) olyan alapelvek és eljárások készlete, amelyek segíthetnek.

A DevOps az emberek, a folyamatok és a technológia egysége, amely folyamatosan értéket biztosít az ügyfelek számára. A DevOps kultúráját, gyakorlatát és eszközeit használó csapatok kiváló teljesítményt nyújtanak, jobb termékeket hoznak létre gyorsabban, és javítják az ügyfelek elégedettségét.

Az adatbázis a megoldás egyik fő része; Ezért az adatbázis DevOps-gyakorlatokkal való integrálhatósága a modern és agilis alkalmazásfejlesztés kulcsfontosságú eleme.

Az Azure SQL-ben számos módszer létezik arra, hogy az adatbázist belefoglalja a DevOps-folyamatba. A folyamatos integrációs (CI) és a folyamatos kézbesítési (CD) folyamat a DevOps-környezet gerince, és az Azure SQL teljes mértékben integrálható a választott CI/CD-eszközökkel. Az Azure-ban az egyik leggyakoribb és leggyakrabban használt eszköz a GitHub Actions és az Azure DevOps.

CI/CD implementálása adatbázisokhoz

Ha az adatbázis egy CI/CD-folyamat részeként van kialakítva, az azt jelenti, hogy teljesen automatizált, reprodukálható és determinista módon szeretné konfigurálni és üzembe helyezni a struktúrát – és akár az adatok egy részét is. A konfigurálás után bármikor, tetszőleges számú alkalommal futtathatja az üzembe helyezési vagy frissítési folyamatot, és konzisztens eredményeket kaphat.

Ebben a leckében megismerheti a CI/CD-folyamatok adatbázisokhoz való implementálásának három fő megközelítését:

  • Kívánt állapot
  • Kód első migrálása
  • Egyéni szkriptek

A Desired State megközelítés használata a SqlPackage.exe

A Kívánt állapot megközelítésben pillanatképet kell készítenie egy referenciaadatbázis szerkezetéről, hogy a kívánt állapotot képviselje. Ezután a pillanatkép használatával szinkronizálhat egy másik céladatbázist, általában a teszt- vagy éles adatbázist a kívánt állapotba. A SqlPackage.exe-hez hasonló eszközzel készíthet pillanatképet egy .dacpac fájlba. Amikor a .dacpac céladatbázisra alkalmazza a rendszer, automatikusan megkeresi a különbségeket, létrehozza a megfelelő szkriptet, és alkalmazza ezt a szkriptet a célséma és a hivatkozás szinkronizálásához.

A "Desired State" megközelítést használjuk a buszos fogási forgatókönyvben; ez valószínűleg a legegyszerűbb és legegyszerűbb a három tárgyalt megközelítés közül.

Kód első áttelepítésének implementálása a nyelvtől függően

Van egy másik lehetőség, ha nem szeretne T-SQL-szkripteket írni; ehelyett engedélyezni szeretné, hogy a C#, a Python vagy a Node, valamint a megoldásban definiált entitások (például busz, útvonal vagy hely) automatikusan létrehozzuk az adatbázist és a sémát. Általában van egy adott eszköz, amely egy platformhoz vagy keretrendszerhez tartozik vagy vonatkozik. Ezek az eszközök biztosítják, hogy minden alkalommal, amikor módosít vagy hozzáad egy mezőt vagy entitást, az új struktúra tükröződni fog az adatbázisban. A modul végén az egyes platformokhoz és keretrendszerekhez tartozó eszközökre mutató hivatkozásokat talál.

Manuális szkriptek használata lépésről lépésre történő üzembe helyezéshez

A manuális szkriptelési megközelítésben a fejlesztő gondosan írja és tartja karban az adatbázis létrehozásához és módosításához szükséges szkripteket az idő múlásával. Miután üzembe helyezték a szkriptet az éles környezetben, az soha nem változik; ehelyett egy újat hoz létre. Minden szkript tartalmazza az adatbázis új sémára való alakításához szükséges kódot. Azokban az esetekben, amikor az adatbázist nulláról kell üzembe helyezni, az összes szkriptet a megfelelő sorrendben kell végrehajtani, hogy az adatbázis létrejönjön és megfelelően fejlődjön. Miután üzembe helyezett egy szkriptet, az SQL Server Data Tools (SSDT) Séma összehasonlítása segédprogramhoz hasonló eszközökkel összehasonlíthatja az adatbázisdefiníciókat. Ez segít biztosítani, hogy az üzembe helyezett szkript ne legyen ismét alkalmazva ugyanarra az adatbázisra a későbbi végrehajtások során.

Válasszon ki egy folyamateszközt a CI/CD egyszerű implementálásához

Miután azonosította az adatbázis frissítésének legjobb módját, két gyakori megoldás közül választhat, az Azure DevOps vagy a GitHub Actions közül, hogy megvalósítsa ezt a megközelítést.

CI/CD implementálása az Azure DevOpsszal

Az Azure DevOps egy termékcsomag, amely teljes körű támogatást nyújt minden DevOps-aspektushoz, beleértve a CI/CD-folyamatot is. A folyamat olyan feladatokból áll, amelyek meghatározzák a folyamat lépéseit. A feladatok szinte bármi lehetnek, a végrehajtható feladatok végrehajtásától kezdve a .NET-megoldások összeállításáig. Az Azure SQL Database üzembe helyezési feladatának nevezett konkrét feladatokkal fájlokat helyezhet üzembe.dacpac, vagy végrehajthat egy .sql szkriptet.

CI/CD implementálása a GitHub Actions használatával

A GitHub Actions lehetővé teszi a CI/CD-folyamatok definícióját. A folyamatok lépéseit a Műveletek használatával hozhatja létre. A művelet szinte bármilyen típusú folyamat végrehajtására használható. Az Azure SQL Deploy művelet lehetővé teszi egy fájl üzembe helyezését.dacpac.

A következő gyakorlatban az Azure SQL Actions használatával telepítheti és frissítheti az adatbázissémát, így lehetőség nyílik arra, hogy működés közben láthassa.

Tudásteszt

1.

Az alábbi megközelítések közül melyik nem az Azure SQL Database CI/CD-jének megközelítése?

2.

A DevOps három dolog egyesítését definiálta. Az alábbi lehetőségek közül melyik nem volt köztük?