Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile distribuire automaticamente gli aggiornamenti del database al server flessibile di Database di Azure per MySQL per ogni compilazione riuscita con Azure Pipelines. È possibile usare l'attività dell'interfaccia della riga di comando di Azure per aggiornare il database con un file SQL o uno script SQL inline. È possibile eseguire questa attività su agenti multipiattaforma in esecuzione in sistemi operativi Linux, macOS o Windows.
Prerequisiti
Un account Azure. Se non è disponibile, ottenere una versione di valutazione gratuita.
Connessione del servizio Azure Resource Manager all'account Azure
L'interfaccia della riga di comando di Azure è preinstallata negli agenti ospitati da Microsoft. Tuttavia, se si usano agenti privati, installare Azure CLI nei computer che eseguono l'agente di compilazione e versione. Se un agente è già in esecuzione nel computer in cui si installa l'interfaccia della riga di comando di Azure, riavviare l'agente per aggiornare tutte le variabili di fase pertinenti.
Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:
- Creare un'istanza del server flessibile Database di Azure per MySQL usando la guida introduttiva: Creare un'istanza di Database di Azure per MySQL con il portale di Azure o Avvio rapido: Creare un'istanza di Database di Azure per MySQL - Server flessibile tramite l'interfaccia della riga di comando di Azure.
Uso del file SQL
Nell'esempio seguente viene illustrato come passare gli argomenti del database ed eseguire il execute
comando .
- 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
Uso dello script SQL inline
Nell'esempio seguente viene illustrato come eseguire uno script SQL inline usando il execute
comando .
- 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;"
Input dell'attività
Quando si usa l'attività dell'interfaccia della riga di comando di Azure con Azure Pipelines, è possibile visualizzare l'elenco completo di tutti gli input dell'attività.
Parametro | Descrizione |
---|---|
azureSubscription | (Obbligatorio) Specificare la sottoscrizione di Azure Resource Manager per la distribuzione. Questo parametro viene visualizzato solo quando la versione dell'attività selezionata è 0.* perché l'attività dell'interfaccia della riga di comando di Azure v1.0 supporta solo sottoscrizioni di Azure Resource Manager. |
scriptType | (Obbligatorio) Specificare il tipo di script. Gli script supportati sono PowerShell, PowerShell Core, Bat, Shell e script. Se si esegue un agente Linux, selezionare una delle opzioni seguenti: bash o pscore . Se si esegue un agente Windows, selezionare una delle opzioni seguenti: batch , ps o pscore . |
scriptLocation | (Obbligatorio) Specificare il percorso dello script, ad esempio il percorso del file reale o usare Inline script quando si specificano gli script inline. Il valore predefinito è scriptPath . |
scriptPath | (Obbligatorio) Percorso completo dello script (con estensione ps1, bat o cmd se si usa l'agente Windows e con estensione .ps1 o .sh se si usa l'agente Linux) oppure un percorso relativo della directory di lavoro predefinita. |
inlineScript | (Obbligatorio) Consente di scrivere gli script inline. Se si usa l'agente Windows, usare PowerShell, PowerShell Core o gli script batch, mentre se si usano agenti Linux usare PowerShell Core o gli script della shell. Per i file batch usare il prefisso "call" prima di ogni comando di Azure. È anche possibile passare variabili predefinite e personalizzate a questo script usando argomenti. Esempio per PowerShell/PowerShellCore/shell: az --version az account show Esempio per batch: call az --version call az account show . |
argomenti | (Facoltativo) Specificare tutti gli argomenti passati allo script. Ad esempio -SERVERNAME mydemoserver . |
powerShellErrorActionPreference | (Facoltativo) Antepone la riga $ErrorActionPreference = 'VALUE' all'inizio dello script di PowerShell/PowerShell Core. Il valore predefinito è stop. I valori supportati sono stop, continue e silentlyContinue. |
addSpnToEnvironment | (Facoltativo) Aggiunge l'ID dell'entità servizio e la chiave dell'endpoint di Azure scelto nell'ambiente di esecuzione dello script. È possibile usare queste variabili: $env:servicePrincipalId, $env:servicePrincipalKey e $env:tenantId nello script. Questo parametro viene rispettato solo quando l'endpoint di Azure ha lo schema di autenticazione dell'entità servizio. Il valore predefinito è false. |
useGlobalConfig | (Facoltativo) In caso contrario, questa attività userà la propria directory. Può essere usato per eseguire attività dell'interfaccia della riga di comando di Azure in versioni parallele " Valore predefinito: false |
workingDirectory | (facoltativo) Directory di lavoro corrente in cui viene eseguito lo script. Se non si specifica un valore, corrisponde alla radice del repository (compilazione) o degli artefatti (versione), ovvero $(System.DefaultWorkingDirectory). |
failOnStandardError | (Facoltativo) Se questo è vero, questa attività ha esito negativo quando vengono scritti errori nel flusso StandardError. Deselezionare la casella di controllo per ignorare gli errori standard e basarsi sui codici di uscita per determinare lo stato. Il valore predefinito è false. |
powerShellIgnoreLASTEXITCODE | (Facoltativo) Se false, la riga if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } viene aggiunta alla fine dello script. Questo valore determina la propagazione dell'ultimo codice di uscita da un comando esterno come codice di uscita di PowerShell. In caso contrario, la riga non viene aggiunta alla fine dello script. Il valore predefinito è false. |
Se si verificano problemi con l'attività CLI, vedere come risolvere i problemi di compilazione e rilascio. |