Partager via


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 :

Ce guide de démarrage rapide s’appuie sur les ressources créées dans l’un de ces guides :

Créer votre pipeline

Vous allez utiliser le pipeline de démarrage de base comme base pour votre pipeline.

  1. Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.

  2. Dans votre projet, accédez à la page Pipelines. Choisissez ensuite l’action pour créer un pipeline.

  3. Suivez les étapes de l’Assistant en sélectionnant d’abord GitHub comme emplacement du code source.

  4. Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.

  5. Quand la liste des dépôts s’affiche, sélectionnez le dépôt souhaité.

  6. Azure Pipelines analyse votre dépôt et propose des options de configuration. Sélectionnez Pipeline de démarrage.

    Screenshot of Select Starter pipeline.

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.

  1. Accédez à la page Pipelines, sélectionnez le pipeline approprié, puis sélectionnez Modifier.

  2. Sélectionnez Variables.

  3. Ajoutez une nouvelle variable nommée SQLpass, puis sélectionnez Garder cette valeur secrète pour chiffrer et enregistrer la variable.

    Screenshot of adding a secret variable.

  4. 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.

  1. Dans le portail Azure, ouvrez votre ressource de base de données.

  2. Sélectionnez Sécurité de la connexion.

  3. Basculez Autoriser l’accès aux services Azure sur Oui.

    Screenshot of setting MySQL to allow Azure connections.

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ées quickstartdb.
  • Supprimer la table inventory si elle existe, et créer une nouvelle table inventory.
  • 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.

Screenshot to show reviewing final table results.

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éé.

Étapes suivantes