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:
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine aktive Azure DevOps-Organisation. Registrieren Sie sich für Azure Pipelines.
- Ein GitHub-Repository, das Sie für Ihre Pipeline verwenden können. Wenn Sie kein vorhandenes Repository haben, lesen Sie Erstellen Ihrer ersten Pipeline.
In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:
- Erstellen eines Servers für Azure-Datenbank für MySQL mithilfe des Azure-Portals
- Erstellen eines Servers für Azure-Datenbank für MySQL mithilfe der Azure CLI
Erstellen Ihrer Pipeline
Sie verwenden die Basis-Starterpipeline als Basis für Ihre Pipeline.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und wechseln Sie zu Ihrem Projekt.
Navigieren Sie in Ihrem Projekt zur Seite Pipelines. Wählen Sie dann die Aktion zum Erstellen einer neuen Pipeline aus.
Führen Sie die Schritte des Assistenten aus. Wählen Sie zuerst GitHub als Speicherort Ihres Quellcodes aus.
Möglicherweise werden Sie zu GitHub weitergeleitet, um sich anzumelden. Geben Sie in diesem Fall Ihre Anmeldeinformationen für GitHub ein.
Wenn die Liste der Repositorys angezeigt wird, wählen Sie das gewünschte Repository aus.
Azure Pipelines analysiert Ihr Repository und bietet Konfigurationsoptionen. Wählen Sie Starterpipeline aus.
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.
- Wechseln Sie zur Seite Pipelines, wählen Sie die entsprechende Pipeline aus und klicken Sie dann auf Bearbeiten.
- Wählen Sie Variablen aus.
- 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. - 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.
- Öffnen Sie im Azure-Portal Ihre Datenbankressource.
- Klicken Sie auf Verbindungssicherheit.
- Wählen Sie als Zugriff auf Azure-Dienste erlauben die Option Ja aus.
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 neuequickstartdb
-Datenbank. - Es löscht die Tabelle
inventory
, wenn sie vorhanden ist, und erstellt eine neueinventory
-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.
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.