Azure Pipelines for Azure Database for MySQL Single Server

GILT FÜR:Azure Database for MySQL – Single Server

Erste Schritte mit Azure Database for MySQL durch Bereitstellung eines Datenbankupdates mit Azure Pipelines. Mit Azure Pipelines können Sie mithilfe von Azure DevOps mit Continuous Integration (CI) und Continuous Delivery (CD) Lösungen erstellen, testen und bereitstellen.

Sie verwenden die Aufgabe Azure Database for MySQL-Bereitstellung. Die Azure Database for MySQL Bereitstellungsaufgabe funktioniert nur mit Azure Database for MySQL Single Server.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie Folgendes:

In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:

Erstellen Ihrer Pipeline

Sie verwenden die Basis-Starterpipeline als Basis für Ihre Pipeline.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wechseln Sie zu Ihrem Projekt.

  2. Navigieren Sie in Ihrem Projekt zur Seite Pipelines. Wählen Sie dann die Aktion zum Erstellen einer neuen Pipeline aus.

  3. Führen Sie die Schritte des Assistenten aus. Wählen Sie zuerst GitHub als Speicherort Ihres Quellcodes aus.

  4. Möglicherweise werden Sie zu GitHub weitergeleitet, um sich anzumelden. Geben Sie in diesem Fall Ihre Anmeldeinformationen für GitHub ein.

  5. Wenn die Liste der Repositorys angezeigt wird, wählen Sie das gewünschte Repository aus.

  6. Azure Pipelines analysiert Ihr Repository und bietet Konfigurationsoptionen. Wählen Sie Starterpipeline aus.

    Screenshot of Select Starter pipeline.

Erstellen eines Geheimnisses

Sie müssen Ihren Datenbankservernamen, den SQL-Benutzernamen und das SQL-Kennwort kennen, das mit der Aufgabe Azure Database for MySQL-Bereitstellung verwendet werden soll.

Aus Sicherheitsgründen möchten Sie Ihr SQL-Kennwort als geheime Variable auf der Benutzeroberfläche der Pipelineeinstellungen für Ihre Pipeline speichern.

  1. Wechseln Sie zur Seite Pipelines, wählen Sie die entsprechende Pipeline aus und klicken Sie dann auf Bearbeiten.

  2. Wählen Sie Variablen aus.

  3. Fügen Sie eine neue Variable namens SQLpass hinzu, und wählen Sie Diesen Geheimniswert beibehalten aus, um die Variable zu verschlüsseln und zu speichern.

    Screenshot of adding a secret variable.

  4. Wählen Sie Ok und Speichern aus, um die Variable hinzuzufügen.

Überprüfen der Berechtigungen für Ihre Datenbank

Um auf Ihre MySQL-Datenbank mit Azure Pipelines zuzugreifen, müssen Sie Ihre Datenbank so einstellen, dass Verbindungen von allen Azure-Ressourcen akzeptiert werden.

  1. Öffnen Sie im Azure-Portal Ihre Datenbankressource.

  2. Klicken Sie auf Verbindungssicherheit.

  3. Wählen Sie als Zugriff auf Azure-Dienste erlauben die Option Ja aus.

    Screenshot of setting MySQL to allow Azure connections.

Hinzufügen der Aufgabe „Azure Database for MySQL-Bereitstellung“

In diesem Beispiel erstellen wir eine neue Datenbank mit dem Namen quickstartdb und fügen eine Bestandstabelle hinzu. Das Inline-SQL-Skript bewirkt Folgendes:

  • Es löscht quickstartdb, wenn er vorhanden ist, und erstellt eine neue quickstartdb-Datenbank.
  • Es löscht die Tabelle inventory, wenn sie vorhanden ist, und erstellt eine neue inventory-Tabelle.
  • Es fügt drei Zeilen in inventory ein.
  • Es zeigt alle Zeilen an.
  • Es aktualisiert den Wert der ersten Zeile in inventory.
  • Es löscht die zweite Zeile in inventory.

Sie müssen die folgenden Werte in Ihrer Bereitstellungsaufgabe ersetzen.

Eingabe BESCHREIBUNG Beispiel
azureSubscription Authentifizieren Sie sich bei Ihrem Azure-Abonnement mit einer Dienstverbindung. My Subscription
ServerName Der Name Ihres Azure Database for MySQL-Servers. fabrikam.mysql.database.azure.com
SqlUsername Der Benutzername Ihres Azure Database for MySQL. mysqladmin@fabrikam
SqlPassword Das Kennwort zu dem Benutzernamen. Es sollte als geheime Variable definiert werden. $(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'

Bereitstellen und Überprüfen von Ressourcen

Wählen Sie Speichern und ausführen aus, um Ihre Pipeline bereitzustellen. Der Pipelineauftrag wird gestartet, und nach wenigen Minuten sollte der Auftragsstatus Success lauten.

Sie können überprüfen, ob Ihre Pipeline innerhalb der Aufgabe AzureMysqlDeployment erfolgreich ausgeführt wurde.

Öffnen Sie die Aufgabe, und überprüfen Sie, ob die letzten beiden Einträge zwei Zeilen in inventory enthalten. Es sind zwei Zeilen vorhanden, da die zweite Zeile gelöscht wurde.

Screenshot to show reviewing final table results.

Bereinigen von Ressourcen

Wenn Sie mit Ihrer Pipeline fertig sind, löschen Sie quickstartdb in Ihrer Azure Database for MySQL. Sie können auch die von Ihnen erstellte Bereitstellungspipeline löschen.

Nächste Schritte