Azure Pipelines för Azure Database for MySQL – flexibel server
GÄLLER FÖR: Azure Database for MySQL – flexibel server
Du kan automatiskt distribuera dina databasuppdateringar till Azure Database for MySQL – flexibel server efter varje lyckad version med Azure Pipelines. Du kan använda Azure CLI-uppgiften för att uppdatera databasen antingen med en SQL-fil eller ett infogat SQL-skript mot databasen. Den här uppgiften kan köras på plattformsoberoende agenter som körs på Linux-, macOS- eller Windows-operativsystem.
Förutsättningar
Ett Azure-konto. Om du inte har redan har en kan du skaffa en kostnadsfri utvärderingsversion.
Azure Resource Manager-tjänstanslutning till ditt Azure-konto
Microsofts värdbaserade agenter har Azure CLI förinstallerat. Men om du använder privata agenter installerar du Azure CLI på de datorer som kör bygg- och versionsagenten. Om en agent redan körs på den dator där Azure CLI är installerat startar du om agenten för att säkerställa att alla relevanta stegvariabler uppdateras.
I den här snabbstarten används de resurser som skapades i någon av följande guider som utgångspunkt:
- Skapa en Azure Database for MySQL – flexibel serverinstans med hjälp av Azure Portal eller Azure CLI.
Använda SQL-fil
I följande exempel visas hur du skickar databasargument och kör execute
kommandot
- 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
Använda infogat SQL-skript
I följande exempel visas hur du kör ett infogat SQL-skript med kommandot execute
.
- 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;"
Uppgiftsindata
Du kan se den fullständiga listan över alla uppgiftsindata när du använder Azure CLI-uppgift med Azure Pipelines.
Parameter | Description |
---|---|
azureSubscription | (Krävs) Ange Azure Resource Manager-prenumerationen för distributionen. Den här parametern visas endast när den valda uppgiftsversionen är 0.* eftersom Azure CLI-uppgift v1.0 endast stöder Azure Resource Manager-prenumerationer. |
scriptType | (Krävs) Ange typ av skript. Skript som stöds är PowerShell, PowerShell Core, Bat, Shell och skript. När du kör på en Linux-agent väljer du något av följande: bash eller pscore . När du kör Windows-agenten väljer du något av följande: batch ,ps och pscore . |
scriptLocation | (Krävs) Ange sökvägen till skriptet, till exempel en riktig filsökväg eller använd Inline script när du anger skripten infogade. Standardvärdet är scriptPath . |
scriptPath | (Krävs) Fullständigt kvalificerad sökväg för skriptet(.ps1 eller .bat eller .cmd när du använder Windows-baserad agent annars .ps1 eller .sh när du använder linux-baserad agent) eller en sökväg i förhållande till standardarbetskatalogen. |
inlineScript | (Krävs) Du kan skriva skripten infogat här. När du använder Windows-agenten använder du PowerShell eller PowerShell Core eller batchskript medan du använder PowerShell Core- eller shell-skript när du använder Linux-baserade agenter. För batchfiler använder du prefixet "call" före varje Azure-kommando. Du kan också skicka fördefinierade och anpassade variabler till det här skriptet med hjälp av argument. Exempel för PowerShell/PowerShellCore/shell: az --version az account show Exempel för batch: call az --version call az account show . |
Argument | (Valfritt) Ange alla argument som skickas till skriptet. Till exempel -SERVERNAME mydemoserver . |
powerShellErrorActionPreference | (Valfritt) Förbereder raden $ErrorActionPreference = "VALUE" överst i PowerShell/PowerShell Core-skriptet. Standardvärdet är stop. Värden som stöds är stop, continue och silentlyContinue. |
addSpnToEnvironment | (Valfritt) Lägger till tjänstens huvudnamns-ID och nyckeln för den Azure-slutpunkt som du valde i skriptets körningsmiljö. Du kan använda dessa variabler: $env:servicePrincipalId, $env:servicePrincipalKey och $env:tenantId i skriptet. Detta respekteras endast när Azure-slutpunkten har autentiseringsschema för tjänstens huvudnamn. Standardvärdet är "false". |
useGlobalConfig | (Valfritt) Om detta är falskt använder den här uppgiften en egen separat Azure CLI-konfigurationskatalog. Detta kan användas för att köra Azure CLI-uppgifter i parallella versioner" Standardvärde: false |
workingDirectory | (Valfritt) Aktuell arbetskatalog där skriptet körs. Tom är roten för lagringsplatsen (build) eller artefakter (release), som är $(System.DefaultWorkingDirectory). |
failOnStandardError | (Valfritt) Om detta är sant misslyckas den här uppgiften när eventuella fel skrivs till StandardError-strömmen. Avmarkera kryssrutan för att ignorera standardfel och förlita dig på slutkoder för att fastställa statusen. Standardvärdet är "false". |
powerShellIgnoreLASTEXITCODE | (Valfritt) Om detta är falskt läggs raden if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } till i slutet av skriptet. Detta gör att den sista slutkoden från ett externt kommando sprids som slutkod för PowerShell. Annars läggs inte raden till i slutet av skriptet. Standardvärdet är "false". |
Om du har problem med CLI-uppgift kan du läsa om hur du felsöker build och release.
Nästa steg
Här följer några relaterade uppgifter för att distribuera till Azure.