Résumé

Effectué

CI/CD pour les projets de base de données SQL apporte la même automatisation, cohérence et sécurité au développement des bases de données dont les équipes applicatives bénéficient pour leurs codes.

Dans ce module, vous avez appris à :

  • Créez, générez et validez des projets SQL Database : définissez des objets de base de données dans des fichiers T-SQL déclaratifs, générez-les dans .dacpac des artefacts et validez les références et la syntaxe sur une plateforme cible à l’aide du format de projet de style Microsoft.Build.Sql SDK.
  • Configurez le contrôle de code source et gérez les données de référence : placez des projets de base de données SQL dans Git, organisez les fichiers par type d’objet et utilisez des scripts de prédéploiement et de post-déploiement avec SQLCMD :r inclut pour gérer les données de référence en même temps que le schéma.
  • Gérer les branchements, les pull requests et la résolution des conflits : utilisez des branches de fonctionnalité pour les modifications de base de données, passez en revue les différences T-SQL dans les pull requests, résolvez les conflits de fusion au niveau de l’objet et validez les résultats fusionnés avec une compilation de projet.
  • Détecter et résoudre la dérive de schéma : comparez les bases de données actives à des projets de base de données SQL à l’aide d’outils de comparaison de schémas, automatisez la détection de dérive avec l’extraction SqlPackage et passez en revue les modifications planifiées avec les rapports de déploiement et les scripts.
  • Implémentez des pipelines CI/CD avec des contrôles de déploiement : générez et déployez .dacpac des fichiers avec GitHub Actions (Azure/sql-action) et Azure DevOps (SqlAzureDacpacDeployment), gérez les secrets via les secrets de dépôt et Azure Key Vault, et protégez la production avec des approbations d’environnement, des stratégies de branche et des propriétaires de code.
  • Concevez et implémentez une stratégie de test : créez des tests unitaires SQL Server avec des conditions de test (nombre de lignes, valeur scalaire, schéma attendu), écrivez des tests négatifs pour la gestion des erreurs et intégrez des tests dans des pipelines CI/CD pour intercepter les erreurs logiques avant le déploiement.

Learn more