Published on

December 28, 2015

Comprendre l’intégration continue de SQL Server

L’intégration continue (CI) est une pratique de développement logiciel qui consiste à intégrer les modifications de code dès qu’elles sont effectuées et poussées vers un référentiel de contrôle de source. Dans le contexte des bases de données SQL Server, la CI fait référence au processus d’intégration de modifications de base de données isolées plusieurs fois par jour, en veillant à ce que chaque modification passe un plan de test avant d’être fusionnée dans l’environnement de production.

Que signifie “continue” ?

Contrairement à la croyance populaire, le terme “continue” dans l’intégration continue ne signifie pas que le processus ne se termine jamais. Au contraire, il fait référence à la surveillance continue du référentiel de contrôle de source pour détecter les modifications. Le reste du processus de CI, y compris la construction, les tests, la documentation et le déploiement, ne se produit que lorsqu’un changement est détecté.

Que signifie “intégration” ?

Dans le contexte de la CI, “intégration” fait référence au processus de récupération de l’état le plus récent du référentiel et d’intégration des modifications de base de données validées avec la production ou tout autre environnement. Cela implique la construction d’une base de données, le chargement de données de test et l’exécution de différents types de tests. Une fois que tous les tests sont réussis, le processus passe à la construction de la base de données qui sera déployée.

Avantages de la CI

L’implémentation de la CI dans les bases de données SQL Server offre plusieurs avantages :

  • Agilité : La CI fournit des commentaires précoces et fréquents, permettant aux développeurs de réagir rapidement aux problèmes et d’éviter l’accumulation de défauts qui peuvent ralentir le développement.
  • Efficacité : En automatisant les parties répétables du processus, telles que la construction, le chargement des données de test, l’exécution des tests unitaires et le déploiement, les efforts manuels et les erreurs humaines sont minimisés.
  • Qualité : La CI garantit que seules les bases de données qui réussissent tous les tests sont déployées, donnant aux développeurs la confiance que la base de données déployée est exempte d’erreurs critiques.

Exigences pour la CI

Pour mettre en œuvre la CI dans les bases de données SQL Server, vous avez besoin des éléments suivants :

  • Système de gestion de contrôle de source (SCM) : Un système comme Team Foundation Server (TFS), Git ou Subversion (SVN) est nécessaire pour maintenir les modifications du code SQL et établir une méthodologie de développement systématique.
  • Serveur d’intégration continue (CI) : Un serveur CI est connecté au référentiel de contrôle de source et gère les processus automatiques de test, de construction et de déploiement.
  • Processus de construction et de déploiement fiable : Un processus qui déclenche le système de construction pour utiliser le code testé afin de construire une base de données et de la déployer dans l’environnement souhaité.
  • Automatisation : La CI ne doit pas nécessiter d’intervention manuelle et doit se produire à chaque modification validée. Des outils tels que ApexSQL Diff, ApexSQL Script et ApexSQL Generate peuvent être utilisés pour automatiser divers processus.

Un flux de travail de CI “pour les pauvres”

Si vous recherchez un flux de travail de CI simple, vous pouvez créer un processus qui automatise des tâches telles que la construction, les tests et le déploiement. Des outils tels que ApexSQL Diff, ApexSQL Script et ApexSQL Generate peuvent être utilisés pour créer des scripts pour ces tâches. En combinant et en planifiant ces processus, vous pouvez créer un flux de travail de CI qui peut être exécuté à la demande ou programmé pour s’exécuter automatiquement.

Un flux de travail de CI “pour les riches”

Un flux de travail de CI plus avancé comprend les étapes suivantes :

  1. Un développeur apporte une modification à la base de données et effectue des tests locaux.
  2. Si les tests réussissent, les modifications sont validées dans le référentiel de contrôle de source.
  3. Le serveur CI surveille constamment le référentiel pour détecter les modifications.
  4. Lorsque des modifications sont détectées, le serveur CI déclenche un script de construction pour récupérer l’état le plus récent et construire une base de données.
  5. La nouvelle base de données est peuplée de données statiques.
  6. Les tests unitaires sont automatiquement exécutés.
  7. Le serveur CI envoie des commentaires à l’équipe de développement sous forme de résultats de test.
  8. Si tous les tests réussissent, le serveur CI déploie la base de données testée dans l’environnement souhaité.

Meilleures pratiques de la CI

Lors de la mise en œuvre de la CI, il est important de suivre ces meilleures pratiques :

  • Valider les modifications fréquemment pour éviter l’accumulation de code erroné.
  • Exécuter des tests sur des bases de données locales avant de valider les modifications.
  • Résoudre rapidement les bugs pour maintenir un flux de travail fluide.
  • Assurer une couverture de test automatisée pour les objets de base de données nouveaux et améliorés.

En mettant en œuvre la CI dans les bases de données SQL Server, vous pouvez améliorer l’agilité, l’efficacité et la qualité de votre processus de développement. Avec les bons outils et processus en place, vous pouvez automatiser les tests, la construction et le déploiement de vos bases de données, en veillant à ce que seul un code de haute qualité soit déployé en production.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.