Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Ihre Datenbankupdates nach jedem erfolgreichen Build mit Azure Pipelines automatisch in Azure Database for MySQL Flexible Server bereitstellen. Sie können die Azure CLI-Aufgabe verwenden, um die Datenbank mit einer SQL-Datei oder einem Inline-SQL-Skript zu aktualisieren. Sie können diese Aufgabe auf plattformübergreifenden Agents ausführen, die unter Linux, macOS oder Windows-Betriebssystemen ausgeführt werden.
Voraussetzungen
Ein Azure-Konto. Falls Sie noch kein Konto haben, können Sie eine kostenlose Testversion verwenden.
Eine Azure Resource Manager-Dienstverbindung zu Ihrem Azure-Konto
Bei von Microsoft gehosteten Agents ist Azure CLI vorinstalliert. Wenn Sie jedoch private Agents verwenden, installieren Sie Azure CLI auf den Computern, auf denen der Build- und Release-Agent ausgeführt wird. Wenn ein Agent bereits auf dem Computer ausgeführt wird, auf dem Sie Azure CLI installieren, starten Sie den Agent neu, um alle relevanten Phasenvariablen zu aktualisieren.
In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:
- Erstellen Sie eine Instanz von Azure Database for MySQL – Flexibler Server mithilfe der Anleitungen unter Schnellstart: Erstellen einer Instanz von Azure Database for MySQL mithilfe des Azure-Portals oder Schnellstart: Erstellen einer Instanz von Azure Database for MySQL – Flexibler Server mithilfe der Azure CLI.
Verwenden einer SQL-Datei
Das folgende Beispiel zeigt, wie Sie Datenbankargumente übergeben und den execute Befehl ausführen.
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptLocation: inlineScript
arguments:
-SERVERNAME mydemoserver `
-DBNAME pollsdb `
-DBUSER pollsdbuser`
-DBPASSWORD pollsdbpassword
inlineScript: |
az login --allow-no-subscription
az mysql flexible-server execute --name $(SERVERNAME) \
--admin-user $(DBUSER) --admin-password '$(DBPASSWORD)' \
--database-name $(DBNAME) \
--file-path /code/sql/db-schema-update.sql
Verwenden eines Inline-SQL-Skripts
Das folgende Beispiel zeigt, wie Sie mithilfe des execute Befehls ein Inline-SQL-Skript ausführen.
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptLocation: inlineScript
arguments:
-SERVERNAME mydemoserver `
-DBNAME pollsdb `
-DBUSER pollsdbuser`
-DBPASSWORD pollsdbpassword
-INLINESCRIPT
inlineScript: |
az login --allow-no-subscription
az mysql flexible-server execute --name $(SERVERNAME) \
--admin-user $(DBUSER) --admin-password '$(DBPASSWORD)' \
--database-name $(DBNAME) \
--query-text "UPDATE items SET items.retail = items.retail * 0.9 WHERE items.id =100;"
Aufgabeneingaben
Sie können die vollständige Liste aller Aufgabeneingaben anzeigen, wenn Sie die Azure CLI-Aufgabe bei Azure Pipelines verwenden.
| Parameter | BESCHREIBUNG |
|---|---|
| azureSubscription | (Erforderlich) Geben Sie das Azure Resource Manager-Abonnement für die Bereitstellung an. Dieser Parameter wird nur angezeigt, wenn die ausgewählte Aufgabenversion „0.*“ ist, weil die Azure CLI-Aufgabe v1.0 nur Azure Resource Manager-Abonnements unterstützt. |
| scriptType | (Erforderlich) Geben Sie den Typ des Skripts an. Unterstützte Skripts sind PowerShell, PowerShell Core, Bat, Shell und Skript. Wenn Sie einen Linux-Agent ausführen, wählen Sie eine der folgenden Optionen aus: bash oder pscore. Wenn Sie einen Windows-Agent ausführen, wählen Sie eine der folgenden Optionen aus: batch, ps oder pscore. |
| scriptLocation | (Erforderlich) Geben Sie den Pfad zum Skript an, z. B. den tatsächlichen Dateipfad, oder verwenden Sie Inline script, wenn Sie die Skripts inline bereitstellen. Der Standardwert ist scriptPath. |
| scriptPath | (Erforderlich) Vollqualifizierter Pfad des Skripts („.ps1“, „.bat“ oder „.cmd“ bei Verwendung eines Windows-basierten Agents, oder aber .ps1 oder .sh bei Verwendung eines Linux-basierten Agents) oder ein Pfad relativ zum Standardarbeitsverzeichnis. |
| inlineScript | (Erforderlich) Sie können Ihre Skripts hier inline schreiben. Wenn Sie einen Windows-Agent verwenden, verwenden Sie PowerShell oder PowerShell Core oder aber Batchskripts, während Sie bei Verwendung von Linux-basierten Agents PowerShell Core oder Shell-Skripts verwenden müssen. Verwenden Sie bei Batchdateien vor jedem Azure-Befehl das Präfix „call“. Sie können auch vordefinierte und benutzerdefinierte Variablen mithilfe von Argumenten an dieses Skript übergeben. Beispiel für „PowerShell/PowerShellCore/shell“: az --version az account showBeispiel für „Batch“: call az --version call az account show. |
| Argumente | (Optional) Geben Sie alle Argumente an, die an das Skript übergeben werden. Beispiele: -SERVERNAME mydemoserver. |
| powerShellErrorActionPreference | (Optional) Stellt dem Anfang Ihres PowerShell-/PowerShell Core-Skripts die Zeile $ErrorActionPreference = 'VALUE' voran. Der Standardwert ist „stop“. Unterstützte Werte sind „stop“, „continue“ und „silentlyContinue“. |
| addSpnToEnvironment | (Optional) Fügt der Ausführungsumgebung des Skripts die Dienstprinzipal-ID und den Schlüssel des von Ihnen ausgewählten Azure-Endpunkts hinzu. Sie können in Ihrem Skript diese Variablen verwenden: „$env:servicePrincipalId“, „$env:servicePrincipalKey2“ und „$env:tenantId“. Dies wird nur berücksichtigt, wenn es beim Azure-Endpunkt ein Dienstprinzipal-Authentifizierungsschema gibt. Der Standardwert ist „FALSE“. |
| useGlobalConfig | (Optional) Wenn der Wert „FALSE“ ist, verwendet diese Aufgabe ein eigenes separates Azure CLI-Konfigurationsverzeichnis. Es kann zur Ausführung von Azure CLI-Aufgaben in parallelen Releases verwendet werden. Standardwert: False |
| workingDirectory | (Optional) Aktuelles Arbeitsverzeichnis, in dem das Skript ausgeführt wird. „Leer“ ist der Stamm des Repositorys (Build) oder der Artefakte (Release), bei dem es sich um „$(System.DefaultWorkingDirectory)“ handelt. |
| failOnStandardError | (Optional) Wenn der Wert „true“ ist, schlägt diese Aufgabe fehl, wenn Fehler in den „StandardError“-Stream geschrieben werden. Deaktivieren Sie das Kontrollkästchen, damit Standardfehler ignoriert werden, und verwenden Sie Exitcodes, um den Status zu bestimmen. Der Standardwert ist „FALSE“. |
| powerShellIgnoreLASTEXITCODE | (Optional) Wenn der Wert „FALSE“ ist, wird die Zeile if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } am Ende Ihres Skripts angefügt. Dieser Wert bewirkt, dass der letzte Exitcode von einem externen Befehl als Beendigungscode von PowerShell weitergegeben wird. Andernfalls wird die Zeile am Ende Ihres Skripts nicht angefügt. Der Standardwert ist „FALSE“. |
| Wenn Probleme mit der CLI-Aufgabe auftreten, erfahren Sie , wie Sie Build und Release beheben können. |