publishing database changes sql server using microsoft tfs
Ce didacticiel explique comment créer un projet de base de données SQL Server dans TFS et partager le projet dans le référentiel Microsoft TFS en détail:
Dans les tutoriels de la série DevOps publiés @ Tutoriel DevOps , nous avons étudié l'intégration continue et l'automatisation de la livraison continue pour Java et .Net pour les déploiements sur site et dans le cloud des applications.
Les outils que nous avons couverts incluent Microsoft VSTS avec Azure, Amazon Web Services et Ansible. La série s'est concentrée sur les modifications du code source et sur l'efficacité avec laquelle il a été rapidement déployé dans divers environnements. Mais lorsque nous parlons de développement d'application à 3 niveaux, la base de données serait également impliquée et nous devrons appliquer les mêmes techniques aux modifications liées à la base de données.
Ce que vous apprendrez:
comment ajouter à un tableau en java
Microsoft Team Foundation Server 2015 et SQL Server 2014
Cet article se concentrera sur des domaines tels que l'utilisation de Visual Studio 2015 pour le développement, la création d'un projet de base de données SQL Server contenant une définition de base de données, la création d'une définition de build pour publier les modifications apportées à SQL Server, etc. à l'aide de Microsoft Team Foundation Server 2015 et SQL Server 2014.
Donc, à terme, nous devons également gérer efficacement les scripts de base de données et leurs modifications.
Créer un projet de base de données SQL Server dans TFS
Commençons par créer le projet de base de données dans Visual Studio. Lancez Visual Studio 2015 et créez le projet de base de données comme indiqué dans l'image ci-dessous, en utilisant Fichier-> Nouveau -> Projet . Entrez un nom et cliquez sur OK.
Ajoutez un nouveau dossier et nommez-le Tables. Ce dossier contiendra tous nos fichiers SQL. Faites un clic droit sur le projet et sélectionnez Ajouter-> Nouveau dossier.
Le dossier créé est affiché dans l'Explorateur de solutions. Ajoutez une nouvelle table ici et définissez les colonnes comme il convient.
Cliquez avec le bouton droit sur le dossier de la table et sélectionnez Ajouter-> Table comme indiqué dans l'image ci-dessous.
Entrer Nom comme Employé avec l'option Table sélectionnée. Cliquer sur Ajouter.
Ajoutez quelques colonnes comme indiqué dans la vue Conception.
Dans le cas où vous avez des fichiers SQL existants, ils peuvent également être importés en cliquant avec le bouton droit sur le projet de base de données et en sélectionnant Importer un script (* .SQL)
De même, Ajouter -> Procédure stockée dans un dossier comme indiqué ci-dessous.
La structure finale comme indiqué dans le projet de base de données ressemblera à l'image ci-dessous.
Ainsi, normalement pour chaque version et en tant que développeur, nous apporterons des modifications aux tables ou aux procédures stockées et Visual Studio veillera à ce que les scripts soient correctement modifiés pour garantir que les modifications de la base de données sont synchronisées avec les scripts. Nous devons publier ces modifications ou déployer en continu les modifications de manière automatisée dans la base de données SQL Server.
Pour ce faire, publiez le fichier de profil qui est un fichier XML et il contient toutes les informations telles que le nom de la base de données, la chaîne de connexion, etc. qui sont nécessaires pour le déploiement sur SQL Server.
Une fois le fichier XML disponible, nous utiliserons la définition de build Microsoft TFS pour publier automatiquement les modifications dans la base de données SQL Server en fonction de chaque enregistrement ou selon un calendrier.
Dans l'installation de SQL Server, nous avons créé un vide base de données, par exemple, Employé que nous utiliserons pour publier.
Créez maintenant le fichier de profil de publication à l'aide de Visual Studio. Cliquez avec le bouton droit sur le projet de base de données et sélectionnez Publier.
Modifiez et sélectionnez la connexion à la base de données des employés dans SQL Server.
Cliquez sur le bouton Enregistrer le profil sous pour enregistrer le profil dans le projet. Vous pouvez voir un fichier nommé Employee.publish.xml est créé. Vous pouvez également déployer manuellement les modifications en cliquant sur le bouton Publier, mais ici nous allons automatiser les modifications à publier.
Sélectionnez le Annuler option pour l'instant après l'enregistrement du profil.
Ouvrez le fichier dans un éditeur XML et vous pourriez voir la base de données et les chaînes de connexion. Ajoutez manuellement une clé pour le mot de passe et mentionnez le mot de passe pour l'ID utilisateur donné. Cela est nécessaire pour la connexion à la base de données SQL Server.
Le mot de passe étant facilement accessible, nous verrons comment le masquer dans la définition de construction à l'aide du plugin Replace Token.
True Employee Employee.sql Data Source=l-0310;Persist Security Info=False;User ID=sa; Password=;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True 1
Assurez-vous également de sélectionner la bonne version de SQL Server à utiliser pour ce projet de base de données, sinon les données publiées présenteront des erreurs. Cliquez avec le bouton droit sur le projet de base de données (Employé) et sélectionnez Propriétés . Sélectionnez la version appropriée et dans ce cas, il s'agit de la version 2014. Sauvegarder (Ctrl + S) les changements, une fois faits.
Sélectionnez SQL Server 2014 comme plate-forme cible et enregistrez la solution.
Pour utiliser le projet dans une définition de build TFS, nous devons partager le projet avec le référentiel TFS. Faites un clic droit sur la solution et sélectionnez Ajoutez une solution au contrôle de code source. Aller au Team Explorer -> Modifications en attente et Enregistrement la solution.
Le projet devrait maintenant être disponible dans TFS.
Créer une définition de construction pour automatiser la publication
Nous avons maintenant le projet de base de données archivé dans TFS et chaque modification apportée par le développeur à la table ou aux procédures stockées sera publiée automatiquement sur SQL Server sans aucune intervention manuelle à l'aide de la définition de construction à chaque enregistrement ou en fonction d'une planification. .
Tout d'abord, modifiez le fichier XML de publication pour ajouter un jeton pour la clé de mot de passe comme indiqué ci-dessous. Enregistrez tous les changements effectués.
True Employee Employee.sql Data Source=l-0310;Persist Security Info=False;User ID=sa;Password=#{DBPWD}#;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True 1
Dans TFS, accédez au Build HUB et créez une définition de build vide.
Dans la définition de construction, ajoutez d'abord le Étape Remplacer les jetons et configurez comme indiqué dans l'image ci-dessous, car la variable de mot de passe doit être masquée. Si vous avez besoin de télécharger le plugin pour remplacer les jetons, vous pouvez télécharger et installer le même pour Microsoft TFS 2015 à partir de Jetons de remplacement GitHub
Allez dans l'onglet Variables et ajoutez la variable comme dans le fichier XML de publication, c'est-à-dire DBPWD avec une valeur de mot de passe pour le à identifiant d'utilisateur. Clique sur le fermer à clé et cochez la case Autoriser au moment de la file d'attente. Enregistrez la définition de construction.
Ensuite, ajoutez une étape Visual Studio Build. Sélectionnez le Solution Visual Studio et entrez le Arguments de construction MS comme indiqué dans l'image ci-dessous pour créer et publier les modifications.
/ t: build / t: publish /p:SqlPublishProfilePath=Employee.publish.xml
Mettez en file d'attente ou déclenchez la génération et vérifiez les modifications publiées dans SQL Server. Pour le processus de génération, un agent serait nécessaire pour s'exécuter sur la machine sur laquelle SQL Server est installé.
lecture recommandée sur l'installation et la configuration des agents pour Microsoft TFS 2015 @ Microsoft-TFS-2015
comment ouvrir le fichier .dat
Ouvrez SQL Server 2014 Management Studio, cliquez avec le bouton droit sur la base de données, exécutez une requête sur la base de données et recherchez les modifications publiées après la compilation qui a été exécutée.
Comme nous pouvons le voir, pour la première fois, les tables et les procédures stockées sont publiées via un processus de génération automatisé dans TFS. Pour présenter l'intégration continue et le processus de publication automatisée dans la base de données, modifions le tableau et réexécutons la compilation.
Dans le tableau, nous avons ajouté une colonne supplémentaire.
Mettez à nouveau la compilation en file d'attente et vérifiez si les modifications ont été publiées avec succès ou non. La colonne Pays est maintenant ajoutée au tableau. Reportez-vous à l'image ci-dessous.
Si vous souhaitez consulter la base de données, les tables, etc. de Visual Studio lui-même, accédez à Affichage-> Explorateur d'objets SQL Server pour parcourir la base de données qui a SQL Server comme la hiérarchie.
Conclusion
Nous avons vu une solution simple mais puissante pour publier en continu les modifications de la base de données sur SQL Server à l'aide de Microsoft TFS 2015 à chaque enregistrement ou en fonction du calendrier de la génération. Toutes les tables ou procédures stockées ou vues sont ajoutées ou mises à jour en fonction de ces modifications et Visual Studio crée ou modifie les scripts SQL en conséquence.
En bref, la gestion de grandes bases de données et la publication des modifications sont devenues faciles avec l'aide des projets de base de données Visual Studio et de Microsoft Team Foundation Server.
lecture recommandée
- Tutoriel TFS: TFS pour automatiser la génération, le test et le déploiement pour les projets .NET
- Comment utiliser Microsoft TFS pour les projets JAVA avec Eclipse dans DevOps
- Planification agile avec Microsoft Team Foundation Server (TFS)
- Développement d'applications de base de données Oracle: Oracle SQL et PL / SQL
- Tutoriel Oracle Database - Qu'est-ce qu'Oracle Database?
- MySQL Create Database - Comment créer une base de données dans MySQL
- Tutoriel MongoDB Create Database
- Différence entre SQL et MySQL et SQL Server (avec exemples)