Implementace CI/CD pro Azure SQL Database

Dokončeno

Teď už víte, jak nasadit, nakonfigurovat a používat Azure SQL Database k vytvoření silného základu pro moderní aplikaci. Požadavky na aplikace se neustále vyvíjejí a mění, takže dalším krokem je pochopit, jak v případě potřeby aktualizovat databázi. Vývojový provoz (DevOps) je sada principů a postupů, které vám můžou pomoct.

DevOps je sjednocení lidí, procesů a technologií, které zákazníkům neustále poskytují hodnotu. Týmy, které přijímají kulturu, postupy a nástroje DevOps, se stávají vysoce výkonnými a vytvářejí lepší produkty rychleji, aby se zlepšila spokojenost zákazníků.

Databáze je jednou z hlavních částí řešení; Schopnost integrovat databázi s postupy DevOps je proto klíčovou součástí moderního a agilního vývoje aplikací.

V Azure SQL existuje několik přístupů k zahrnutí vaší databáze do procesu DevOps. Kanál kontinuální integrace (CI) a průběžného doručování (CD) je páteř prostředí DevOps a Azure SQL je možné plně integrovat s libovolným nástrojem CI/CD, který zvolíte. Dva z nejběžnějších a široce používaných nástrojů v Azure jsou GitHub Actions a Azure DevOps.

Implementace CI/CD pro databáze

Mít databázi jako součást kanálu CI/CD znamená, že chcete nakonfigurovat a nasadit strukturu – a možná i některá data – plně automatizovaným, reprodukovatelným a deterministickým způsobem. Po nakonfigurování můžete proces nasazení nebo aktualizace kdykoli spustit a získat konzistentní výsledky.

V této lekci se seznámíte se třemi hlavními přístupy pro implementaci kanálu CI/CD pro databáze:

  • Požadovaný stav
  • Migrace Code First
  • Vlastní skripty

Použijte přístup požadovaného stavu s SqlPackage.exe

V přístupu požadovaného stavu pořídíte snímek struktury referenční databáze, která představuje požadovaný stav. Tento snímek pak můžete použít k synchronizaci jiné cílové databáze, obvykle testovací nebo produkční databáze, do požadovaného stavu. K pořízení snímku do souboru .dacpac můžete použít nástroj, jako je SqlPackage.exe. Když se na cílovou databázi použije .dacpac, automaticky najde rozdíly, vygeneruje správný skript a použije ho k synchronizaci cílového schématu s odkazem.

Ve scénáři chycení autobusu používáme přístup požadovaného stavu; je to pravděpodobně nejjednodušší a nejprostší ze tří probíraných přístupů.

Implementace migrací Code First v závislosti na vašem jazyce

Existuje další možnost, pokud nechcete psát skripty T-SQL; Místo toho chcete nechat jazyk C#, Python nebo Node a entity definované ve vašem řešení (například sběrnici, trasu nebo umístění) automaticky vygenerovat databázi a schéma. K dispozici je obvykle konkrétní nástroj, který se dodává nebo se vztahuje na platformu nebo architekturu. Tyto nástroje zajišťují, že při každé změně nebo přidání pole nebo entity se nová struktura projeví v databázi. Na konci tohoto modulu najdete odkazy na nástroje pro konkrétní platformy a architektury.

Použijte ruční skripty pro nasazení krok za krokem

Při ručním skriptování vývojář pečlivě zapisuje a udržuje skripty potřebné k vytvoření a změně databáze v průběhu času. Po nasazení skriptu v produkčním prostředí se nikdy nezmění; místo toho se vytvoří nový. Každý skript obsahuje kód potřebný k vývoji databáze na nové schéma. V případech, kdy je potřeba databázi nasadit úplně od začátku, musí se všechny skripty spouštět ve správném pořadí, aby se zajistilo, že se databáze vytvoří a správně se vyvíjí. Po nasazení skriptu můžete k porovnání definic databáze použít nástroje, jako je nástroj Schema Compare v nástroji SQL Server Data Tools (SSDT). To pomáhá zajistit, aby se nasazený skript znovu nepoužil na stejnou databázi při následných spuštěních.

Vyberte nástroj pro snadnou implementaci CI/CD

Jakmile identifikujete přístup, který nejlépe řeší způsob aktualizace databáze, můžete si vybrat ze dvou běžných řešení, Azure DevOps nebo GitHub Actions, abyste tento přístup implementovali.

Implementace CI/CD s Využitím Azure DevOps

Azure DevOps je sada produktů, které poskytují plnou podporu pro všechny aspekty DevOps, včetně kanálu CI/CD. Kanál se skládá z úloh, které definují kroky kanálu. Úloha může být téměř cokoli, od spuštění spustitelného souboru až po sestavení řešení .NET. K nasazení souboru .dacpac nebo spuštění skriptu .sql můžete použít konkrétní úlohu s názvem úlohy nasazení služby Azure SQL Database.

Implementace CI/CD pomocí GitHub Actions

GitHub Actions povolit definici kanálu CI/CD. Pomocí Akcí vytvoříte kroky pipeline. Akci můžete použít ke spuštění procesu téměř jakéhokoli typu. Akce Nasazení Azure SQL umožňuje nasadit soubor .dacpac.

V dalším cvičení se azure SQL Actions použije k nasazení a aktualizaci schématu databáze, což vám umožní zobrazit ho v akci.

Prověrka znalostí

1.

Které z následujících řešení není vhodné pro CI/CD ve službě Azure SQL Database?

2.

DevOps byla definována jako sjednocení tří věcí. Která z následujících možností nebyla jedna z nich?