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.
Aggiornare un'app per le funzioni con .NET, Python, JavaScript, PowerShell, applicazioni Web basate su Java.
Syntax
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
#isFlexConsumption: false # boolean. Is Function App on Flex Consumption Plan. Default: false.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "" && isFlexConsumption = false. Deploy to Slot or App Service Environment. Default: false.
#resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group.
#slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'DOTNET-ISOLATED|9.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux && isFlexConsumption = false. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
#isFlexConsumption: false # boolean. Is Function App on Flex Consumption Plan. Default: false.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "" && isFlexConsumption = false. Deploy to Slot or App Service Environment. Default: false.
#resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group.
#slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux && isFlexConsumption = false. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "". Deploy to Slot or App Service Environment. Default: false.
#resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group.
#slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'DOTNET-ISOLATED|7.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10'. Optional. Use when appType = functionAppLinux. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
Inputs
connectedServiceNameARM
-
di connessione di Azure Resource Manager
Alias di input: azureSubscription.
string. Required.
Selezionare la connessione di Azure Resource Manager per la distribuzione. La connessione al servizio deve essere connessa a una sottoscrizione di Azure attiva.
appType
-
Tipo di app
string. Required. Valori consentiti: functionApp (app per le funzioni in Windows), functionAppLinux (app per le funzioni in Linux).
Selezionare il tipo di app per le funzioni di Azure per la distribuzione.
isFlexConsumption
-
App per le funzioni nel piano a consumo flex
boolean. Valore predefinito: false.
Impostare su true se l'app per le funzioni si trova in un piano a consumo flessibile .
appName
-
Nome dell'app per le funzioni di Azure
string. Required.
Specificare il nome di un'app per le funzioni di Azure esistente. Le app per le funzioni elencate saranno basate sul tipo di app selezionato.
deployToSlotOrASE
-
Eseguire la distribuzione nell'ambiente slot o del servizio app
boolean. Optional. Usare quando appType != "" && isFlexConsumption = false. Valore predefinito: false.
Esegue la distribuzione in uno slot di distribuzione esistente o in un ambiente del servizio app di Azure. Per entrambe le destinazioni, l'attività richiede un nome del gruppo di risorse.
Se la destinazione della distribuzione è uno slot, per impostazione predefinita verrà utilizzato lo slot di produzione . È anche possibile specificare qualsiasi altro nome di slot esistente.
Se la destinazione della distribuzione è un ambiente del servizio app di Azure, lasciare il nome dello slot come produzione e specificare il nome del gruppo di risorse.
deployToSlotOrASE
-
Eseguire la distribuzione nell'ambiente slot o del servizio app
boolean. Optional. Usare quando appType != "". Valore predefinito: false.
Esegue la distribuzione in uno slot di distribuzione esistente o in un ambiente del servizio app di Azure. Per entrambe le destinazioni, l'attività richiede un nome del gruppo di risorse.
Se la destinazione della distribuzione è uno slot, per impostazione predefinita verrà utilizzato lo slot di produzione . È anche possibile specificare qualsiasi altro nome di slot esistente.
Se la destinazione della distribuzione è un ambiente del servizio app di Azure, lasciare il nome dello slot come produzione e specificare il nome del gruppo di risorse.
resourceGroupName
-
gruppo di risorse
string. Obbligatorio quando deployToSlotOrASE = true.
Il nome del gruppo di risorse è obbligatorio quando la destinazione di distribuzione è uno slot di distribuzione o un ambiente del servizio app.
Immette o seleziona il gruppo di risorse di Azure che contiene il servizio app di Azure specificato in precedenza.
slotName
-
Fessura
string. Obbligatorio quando deployToSlotOrASE = true. Valore predefinito: production.
Immette o seleziona uno slot esistente, escluso lo slot Production.
slotName
-
Fessura
string. Obbligatorio quando deployToSlotOrASE = true. Valore predefinito: production.
Immettere o selezionare uno slot esistente diverso dallo slot di produzione.
package
-
pacchetto o cartella
string. Required. Valore predefinito: $(System.DefaultWorkingDirectory)/**/*.zip.
Percorso del file del pacchetto o della cartella che contiene il contenuto del servizio app generato da MSBuild o da un file ZIP compresso. Sono supportate le variabili ( | BuildRelease) e i caratteri jolly. Ad esempio, $(System.DefaultWorkingDirectory)/**/*.zip.
runtimeStack
-
Stack di runtime
string. Optional. Usare quando appType = functionAppLinux && isFlexConsumption = false. Valori consentiti: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, DOTNET-ISOLATED|8.0, DOTNET-ISOLATED|9.0, JAVA|8JAVA|11JAVA|17JAVA|21NODE|14NODE|16NODE|18NODE|20PYTHON|3.8PYTHON|3.9PYTHON|3.10. PYTHON|3.11
Specificare il framework e la versione in cui verrà eseguita l'app per le funzioni. È possibile usare una delle versioni di runtime supportate . I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-*, sono deprecati. I nuovi valori sono elencati nell'elenco a discesa dell'assistente attività. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.
Note
Questo valore attualmente non aggiorna il linuxFxVersion su cui è in esecuzione il sito. Ciò significa che non è possibile aggiornare lo stack dal nodo 18 al nodo 20. L'attività attualmente aggiorna solo le impostazioni dell'app.
runtimeStack
-
Stack di runtime
string. Optional. Usare quando appType = functionAppLinux && isFlexConsumption = false. Valori consentiti: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, , DOTNET-ISOLATED|8.0, JAVA|11PYTHON|3.10JAVA|8JAVA|17PYTHON|3.9JAVA|21NODE|14PYTHON|3.8NODE|16NODE|18NODE|20. PYTHON|3.11
Specificare il framework e la versione in cui verrà eseguita l'app per le funzioni. È possibile usare una delle versioni di runtime supportate . I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-*, sono deprecati. I nuovi valori sono elencati nell'elenco a discesa dell'assistente attività. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.
Note
Questo valore attualmente non aggiorna il linuxFxVersion su cui è in esecuzione il sito. Ciò significa che non è possibile aggiornare lo stack dal nodo 18 al nodo 20. L'attività attualmente aggiorna solo le impostazioni dell'app.
runtimeStack
-
Stack di runtime
string. Optional. Usare quando appType = functionAppLinux. Valori consentiti: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), DOTNET|6.0 (DOTNET|6.0 (functionapp v4)), DOTNET-ISOLATED|7.0 (DOTNET-ISOLATED|7.0 (functionapp v4)), JAVA|8 (JAVA|8 (functionapp v2/) v3/v4)), JAVA|11 (JAVA|11 (functionapp v3/v4)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3/v4)), NODE|16 (NODE|16 (functionapp v4)), NODE|18 (NODE|18 (functionapp v4)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v) 3/v4),PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)), PYTHON|3.10 (PYTHON|3.10 (functionapp v3/v4)).
Specificare il framework e la versione in cui verrà eseguita l'app per le funzioni. È possibile usare una delle versioni di runtime supportate . I valori precedenti, ad esempio DOCKER|microsoft/azure-functions-*, sono deprecati. I nuovi valori sono elencati nell'elenco a discesa dell'assistente attività. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.
appSettings
-
Impostazioni dell'app
string.
Immettere le impostazioni dell'applicazione usando la sintassi -key value (ad esempio: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). Racchiudere i valori che contengono spazi tra virgolette doppie , ad esempio "Eastern Standard Time".
Per altre informazioni sulle impostazioni dell'app, vedere Variabili di ambiente e impostazioni dell'app nel servizio app di Azure.
deploymentMethod
-
Metodo di distribuzione
string. Obbligatorio quando appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: auto (rilevamento automatico), zipDeploy (distribuzione zip), runFromPackage (distribuzione ZIP con run from package). Valore predefinito: auto.
Specifica il metodo di distribuzione per l'app. Le app a consumo linux non supportano questa configurazione.
Le impostazioni dell'app di archiviazione processi Web di Azure devono essere impostate per le distribuzioni ZIP quando lo SKU è a consumo linux. Le distribuzioni ZIP usano un account di archiviazione per caricare e montare il codice dell'applicazione nell'app.
deploymentMethod
-
Metodo di distribuzione
string. Obbligatorio quando appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: auto (rilevamento automatico), zipDeploy (distribuzione zip), runFromPackage (distribuzione ZIP con run from package). Valore predefinito: auto.
Specifica il metodo di distribuzione per l'app. Le app a consumo linux non supportano questa configurazione.
Le impostazioni dell'app di archiviazione processi Web di Azure devono essere impostate per le distribuzioni ZIP quando lo SKU è a consumo linux. Le distribuzioni ZIP usano un account di archiviazione per caricare e montare il codice dell'applicazione nell'app.
deploymentMethod
-
Metodo di distribuzione
string. Obbligatorio quando appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: auto (rilevamento automatico), zipDeploy (distribuzione zip), runFromPackage (distribuzione ZIP con run from package). Valore predefinito: auto.
Consente di scegliere il metodo di distribuzione per l'app. Le app a consumo linux non supportano questa configurazione.
Le impostazioni dell'app di archiviazione processi Web di Azure devono essere impostate per le distribuzioni ZIP quando lo SKU è a consumo linux. Le distribuzioni ZIP usano un account di archiviazione per caricare e montare il codice dell'applicazione nell'app.
Opzioni di controllo attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di uscita
Questa attività definisce le variabili di output seguenti, che è possibile utilizzare nei passaggi, nei processi e nelle fasi downstream.
AppServiceApplicationUrl
URL applicazione dell'app per le funzioni di Azure selezionata.
Remarks
L'attività Distribuzione funzioni di Azure viene usata per aggiornare Funzioni di Azure per distribuire Funzioni in Azure. L'attività funziona su agenti Azure Pipelines multipiattaforma che eseguono Windows, Linux o Mac e usa le tecnologie di distribuzione sottostanti di RunFromPackage, Zip Deploy e Kudu API REST.
L'attività funziona per le lingue supportate da Funzioni di Azure.
Prerequisiti per l'attività
I prerequisiti seguenti devono essere configurati nei computer di destinazione affinché l'attività funzioni correttamente.
Funzione di Azure
L'attività viene usata per distribuire un progetto di Funzioni di Azure in una funzione di Azure esistente. L'app per le funzioni di Azure deve esistere prima di eseguire l'attività. L'app per le funzioni di Azure può essere creata dal portale di Azure. In alternativa, l'attività di Azure PowerShell può essere usata per eseguire script di PowerShell di AzureRM per effettuare il provisioning e configurare l'app per le funzioni di Azure.
L'attività può essere usata per distribuire Funzioni di Azure (Windows/Linux).
Sottoscrizione di Azure
Per eseguire la distribuzione in Azure, è necessario collegare una sottoscrizione di Azure ad Azure Pipelines usando la scheda Servizi nella sezione Amministrazione account. Aggiungere la sottoscrizione di Azure da usare nella definizione Build or Release Management aprendo la schermata Amministrazione account (icona a forma di ingranaggio nella parte superiore destra della schermata) e quindi fare clic sulla scheda Servizi.
Creare l'endpoint del servizio ARM e usare il tipo di endpoint di Azure Resource Manager . Per maggiori dettagli, segui i passaggi elencati nel link qui.
L'attività non funziona con l'endpoint di servizio di Azure classico e non elenca queste connessioni nei parametri dell'attività.
Metodi di distribuzione
In questa attività sono disponibili diversi metodi di distribuzione.
Per modificare l'opzione di distribuzione basata su pacchetti in un'attività di progettazione, espandere Opzioni di distribuzione aggiuntive e abilitare Seleziona metodo di distribuzione.
In base al tipo di servizio app di Azure e all'agente di Azure Pipelines, l'attività usa una tecnologia di distribuzione appropriata. Le tecnologie di distribuzione usate dalle attività sono le seguenti:
- DELL'API REST Kudu
- Distribuzione Zip
- Esegui dal pacchetto
Per impostazione predefinita, l'attività tenta di selezionare la tecnologia di distribuzione appropriata in base al pacchetto di input, al tipo di servizio app e al sistema operativo dell'agente.
- Se viene fornito uno script post-distribuzione, usare Zip Deploy.
- Se il tipo di servizio app è App Web in Linux, usare Zip Deploy.
- Se viene fornito un file con estensione war, usare War Deploy.
- Se viene fornito un file .jar, usare Run-From-Zip.
- Per tutte le altre attività, usare Esegui dal pacchetto (tramite Zip Deploy).
In un agente non Windows (per qualsiasi tipo di servizio app), l'attività si basa sull'API REST kudu per distribuire l'app Web.
Kudu REST API
L'API REST Kudu funziona su agenti di automazione Windows e Linux quando la destinazione è un'app Web in Windows, un'app Web in Linux (origine predefinita) o un'app per le funzioni. L'attività usa Kudu per copiare i file nel servizio app di Azure.
Distribuzione Zip
Zip Deploy crea un pacchetto di distribuzione .zip dal pacchetto o dalla cartella scelta. Distribuisce quindi il contenuto del file nella cartella wwwroot dell'app per le funzioni del nome del servizio app in Azure. Questa opzione sovrascrive tutto il contenuto esistente nella cartella wwwroot. Per altre informazioni, vedere Distribuzione zip per Funzioni di Azure.
Esegui dal pacchetto
Esegui da pacchetto crea lo stesso pacchetto di distribuzione di Zip Deploy. Anziché distribuire i file nella cartella wwwroot, il runtime di Funzioni monta l'intero pacchetto. Quando si usa questa opzione, i file nella cartella wwwroot diventano di sola lettura. Per altre informazioni, vedere Eseguire Funzioni di Azure da un file di pacchetto.
Troubleshooting
Errore: Non è stato possibile recuperare il token di accesso per Azure. Verificare se l'entità servizio usata è valida e non scaduta.
L'attività usa l'entità servizio nella connessione al servizio per l'autenticazione con Azure. Se l'entità servizio è scaduta o non dispone delle autorizzazioni per il servizio app, l'attività non riesce con questo errore. Verificare la validità dell'entità servizio usata e che sia presente nella registrazione dell'app. Per altre informazioni, vedere Usare il controllo degli accessi in base al ruolo per gestire l'accesso alle risorse della sottoscrizione di Azure. Questo post di blog contiene anche altre informazioni sull'uso dell'autenticazione dell'entità servizio.
Errore SSL
Se si vuole usare un certificato nel servizio app, il certificato deve essere firmato da un'autorità di certificazione attendibile. Se l'app Web restituisce errori di convalida dei certificati, è probabile che si stia usando un certificato autofirmato. Impostare una variabile denominata VSTS_ARM_REST_IGNORE_SSL_ERRORS sul valore true nella pipeline di compilazione o versione per risolvere l'errore.
Una versione si blocca per molto tempo e quindi ha esito negativo
Questo problema potrebbe essere il risultato di capacità insufficiente nel piano di servizio app. Per risolvere questo problema, è possibile aumentare le prestazioni dell'istanza del servizio app per aumentare la CPU, la RAM e lo spazio su disco disponibili o provare con un piano di servizio app diverso.
5xx codici di errore
Se viene visualizzato un errore 5xx , controllare lo stato del servizio Azure.
La funzione di Azure ha improvvisamente smesso di funzionare
Funzioni di Azure può improvvisamente smettere di funzionare se sono trascorsi più di un anno dall'ultima distribuzione. Se si esegue la distribuzione con "RunFromPackage" in "deploymentMethod", viene generata una firma di accesso condiviso con data di scadenza di 1 anno e impostata come valore di "WEBSITE_RUN_FROM_PACKAGE" nella configurazione dell'applicazione. Funzioni di Azure usa questa firma di accesso condiviso per fare riferimento al file del pacchetto per l'esecuzione della funzione, quindi se la firma di accesso condiviso è scaduta, la funzione non verrà eseguita. Per risolvere questo problema, eseguire di nuovo la distribuzione per generare una firma di accesso condiviso con una data di scadenza di un anno.
Errore: nessun pacchetto trovato con il criterio specificato
Controllare se il pacchetto indicato nell'attività viene pubblicato come artefatto nella compilazione o in una fase precedente e scaricato nel processo corrente.
Errore: l'opzione Publish using zip deploy non è supportata per il tipo di pacchetto msBuild
I pacchetti Web creati tramite l'attività MSBuild (con argomenti predefiniti) hanno una struttura di cartelle nidificata che può essere distribuita correttamente solo da Distribuzione Web. L'opzione di distribuzione publish-to-zip non può essere usata per distribuire tali pacchetti. Per convertire la struttura dei pacchetti, seguire questa procedura:
Nell'attività Compila soluzione modificare gli argomenti di MSBuild in
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":
Aggiungere un'attività Archivia e modificare i valori nel modo seguente:
Modificare la cartella radice o il file in cui archiviare in
$(System.DefaultWorkingDirectory)\\WebAppContent.Deselezionare la casella di controllo Anteporre il nome della cartella radice ai percorsi di archiviazione :
La distribuzione dell'app per le funzioni in Windows ha esito positivo, ma l'app non funziona
Questo problema può verificarsi se un file di web.config non è presente nell'app. È possibile aggiungere un file web.config all'origine o generarne uno automaticamente usando le impostazioni di applicazione e configurazione dell'attività.
Selezionare l'attività e passare a Genera parametri web.config per Python, Node.js, Go e Le app Java:
Selezionare il pulsante Altro (...) in Genera parametri web.config per Python, Node.js, Go e Java per modificare i parametri:
Selezionare il tipo di applicazione nell'elenco Framework dell'applicazione .
Seleziona OK. In questo modo, i parametri di web.config necessari per generare il file di web.config verranno popolati.
FAQs
Come configurare la connessione al servizio?
Questa attività richiede una connessione al servizio Azure Resource Manager .
Come configurare la distribuzione di processi Web con Application Insights?
Quando si esegue la distribuzione in un servizio app, se Application Insights è configurato ed è stato abilitato Remove additional files at destination, è necessario abilitare Exclude files from the App_Data folderanche . L'abilitazione di questa opzione mantiene l'estensione di Application Insights in uno stato sicuro. Questo passaggio è necessario perché il processo Web continuo di Application Insights è installato nella cartella App_Data.
Come si configura l'agente se è dietro un proxy durante la distribuzione nel servizio app?
Se l'agente self-hosted richiede un proxy Web, è possibile informare l'agente sul proxy durante la configurazione. In questo modo l'agente può connettersi ad Azure Pipelines o al server Azure DevOps tramite il proxy. Altre informazioni sull'esecuzione di un agente self-hosted dietro un proxy Web.
Non è possibile eseguire la distribuzione in un ambiente del servizio app interno usando una connessione al servizio Azure Resource Manager e un agente ospitato da Microsoft
Per impostazione predefinita, un agente ospitato da Microsoft non funzionerà con un ambiente del servizio app. È invece necessario configurare un agente privato in una macchina virtuale che si trova nella stessa rete virtuale dell'ambiente del servizio app. Impostare anche una zona DNS privata per abilitare la comunicazione tra le risorse.
Examples
Ecco un frammento YAML di esempio che distribuisce funzioni di Azure in Windows:
variables:
azureSubscription: Contoso
# To ignore SSL error, uncomment the below variable
# VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
steps:
- task: AzureFunctionApp@2
displayName: Azure Function App Deploy
inputs:
azureSubscription: $(azureSubscription)
appName: samplefunctionapp
appType: functionApp
package: $(System.DefaultWorkingDirectory)/**/*.zip
Per distribuire una funzione in Linux, aggiungere il parametro appType e impostarlo su appType: functionAppLinux. Se non si specifica un valore, functionApp è l'impostazione predefinita.
Per specificare in modo esplicito il metodo di distribuzione come Zip Deploy, aggiungere il parametro deploymentMethod: zipDeploy. Un altro valore supportato per questo parametro è runFromPackage.
Se non si specifica un valore, auto è l'impostazione predefinita.
Per una procedura dettagliata che illustra come creare una pipeline CI/CD, vedere Creare e distribuire Java in Funzioni di Azure.
Requirements
| Requirement | Description |
|---|---|
| Tipi di pipeline | YAML, build classica, versione classica |
| Viene eseguito in | Agente, DeploymentGroup |
| Demands | None |
| Capabilities | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
| restrizioni dei comandi | Any |
| variabili impostabili | Any |
| Versione agente | 2.104.1 o versione successiva |
| Categoria attività | Deploy |