Azure Pipelines pour Azure Database pour MySQL – Serveur unique
S’APPLIQUE À : Azure Database pour MySQL – Serveur unique
Commencez à utiliser Azure Database pour MySQL en déployant une mise à jour de base de données avec Azure Pipelines. Azure Pipelines vous permet de créer, tester et déployer avec l’intégration continue (CI) et la livraison continue (CD) à l’aide d’Azure DevOps.
Vous allez utiliser la Tâche de déploiement Azure Database pour MySQL. La tâche de déploiement Azure Database pour MySQL fonctionne uniquement avec Azure Database pour MySQL – Serveur unique.
Prérequis
Avant de commencer, vous avez besoin des éléments suivants :
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Organisation Azure DevOps active. Inscrivez-vous à Azure Pipelines.
- Dépôt GitHub que vous pouvez utiliser pour votre pipeline. Si vous n’avez pas de dépôt existant, consultez Créer votre premier pipeline.
Ce guide de démarrage rapide s’appuie sur les ressources créées dans l’un de ces guides :
- Créer un serveur de base de données Azure pour MySQL à l’aide du Portail Azure
- Création d’un serveur de base de données Azure pour MySQL à l’aide d’Azure CLI
Créer votre pipeline
Vous allez utiliser le pipeline de démarrage de base comme base pour votre pipeline.
Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.
Dans votre projet, accédez à la page Pipelines. Choisissez ensuite l’action pour créer un pipeline.
Suivez les étapes de l’Assistant en sélectionnant d’abord GitHub comme emplacement du code source.
Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.
Quand la liste des dépôts s’affiche, sélectionnez le dépôt souhaité.
Azure Pipelines analyse votre dépôt et propose des options de configuration. Sélectionnez Pipeline de démarrage.
Créer un secret
Vous devez connaître le nom du serveur de votre base de données, le nom d’utilisateur SQL et le mot de passe SQL à utiliser avec la Tâche de déploiement d’Azure Database pour MySQL.
Par souci de sécurité, vous souhaitez enregistrer votre mot de passe SQL en tant que variable secrète dans l’interface utilisateur des paramètres pour votre pipeline.
- Accédez à la page Pipelines, sélectionnez le pipeline approprié, puis sélectionnez Modifier.
- Sélectionnez Variables.
- Ajoutez une nouvelle variable nommée
SQLpass
, puis sélectionnez Garder cette valeur secrète pour chiffrer et enregistrer la variable. - Sélectionnez Ok, puis Enregistrer pour ajouter la variable.
Vérifier les autorisations pour votre base de données
Pour accéder à votre base de données MySQL avec Azure Pipelines, vous devez définir votre base de données pour accepter les connexions de toutes les ressources Azure.
- Dans le portail Azure, ouvrez votre ressource de base de données.
- Sélectionnez Sécurité de la connexion.
- Basculez Autoriser l’accès aux services Azure sur Oui.
Ajouter la tâche de déploiement d’Azure Database pour MySQL
Dans cet exemple, nous allons créer une base de données nommée quickstartdb
et ajouter une table des stocks. Le script SQL inclus va effectuer les opérations suivantes :
- Supprimer
quickstartdb
s’il existe, et créer une nouvelle base de donnéesquickstartdb
. - Supprimer la table
inventory
si elle existe, et créer une nouvelle tableinventory
. - Insérer trois lignes dans
inventory
. - Afficher toutes les lignes.
- Mettre à jour la valeur de la première ligne dans
inventory
. - Supprimer la deuxième ligne dans
inventory
.
Vous devez remplacer les valeurs suivantes dans votre tâche de déploiement.
Entrée | Description | Exemple |
---|---|---|
azureSubscription |
Authentifiez-vous avec votre abonnement Azure avec une connexion de service. | My Subscription |
ServerName |
Nom de votre serveur Azure Database pour MySQL. | fabrikam.mysql.database.azure.com |
SqlUsername |
Nom d’utilisateur de votre Azure Database pour MySQL. | mysqladmin@fabrikam |
SqlPassword |
Mot de passe pour le nom d’utilisateur. Il devrait être défini comme une variable secrète. | $(SQLpass) |
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: AzureMysqlDeployment@1
inputs:
azureSubscription: '<your-subscription>
ServerName: '<db>.mysql.database.azure.com'
SqlUsername: '<username>@<db>'
SqlPassword: '$(SQLpass)'
TaskNameSelector: 'InlineSqlTask'
SqlInline: |
DROP DATABASE IF EXISTS quickstartdb;
CREATE DATABASE quickstartdb;
USE quickstartdb;
-- Create a table and insert rows
DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
-- Read
SELECT * FROM inventory;
-- Update
UPDATE inventory SET quantity = 200 WHERE id = 1;
SELECT * FROM inventory;
-- Delete
DELETE FROM inventory WHERE id = 2;
SELECT * FROM inventory;
IpDetectionMethod: 'AutoDetect'
Déployer et vérifier les ressources
Sélectionnez Enregistrer et exécuter pour exécuter le pipeline. La tâche de pipeline est lancée et après quelques minutes, l’état du travail devrait indiquer Success
.
Vous pouvez vérifier que votre pipeline s’est exécuté correctement à l’intérieur de la tâche AzureMysqlDeployment
dans l’exécution du pipeline.
Ouvrez la tâche et vérifiez que les deux dernières entrées affichent deux lignes dans inventory
. Il y a deux lignes parce que la deuxième ligne a été supprimée.
Nettoyer les ressources
Lorsque vous avez fini d’utiliser votre pipeline, supprimez quickstartdb
de votre Azure Database pour MySQL. Vous pouvez également supprimer le pipeline de déploiement que vous avez créé.