Condividi tramite


AzureFunctionApp@1 - attività Funzioni di Azure v1

Aggiornare un'app per le funzioni con .NET, Python, JavaScript, PowerShell, applicazioni Web basate su Java.

Distribuire una funzione di Azure per Linux o Windows.

Sintassi

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. 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. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. 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' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. 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' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. 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' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. 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: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. 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: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

Input

azureSubscription - Connessione di Azure Resource Manager
string. Obbligatorio.

Seleziona la sottoscrizione di Azure Resource Manager per la distribuzione.


appType - Tipo di app
string. Obbligatorio. Valori consentiti: functionApp (App per le funzioni in Windows), functionAppLinux (App per le funzioni in Linux).


appName - Funzioni di Azure Nome app
string. Obbligatorio.

Immette o seleziona il nome di un'app Funzioni di Azure esistente. Le app per le funzioni elencate saranno basate sul tipo di app selezionato.


appName - Nome app
string. Obbligatorio.

Immette o seleziona il nome di un'app Funzioni di Azure esistente. Le app per le funzioni elencate saranno basate sul tipo di app selezionato.


deployToSlotOrASE - Distribuire in slot o ambiente del servizio app
boolean. Valore predefinito: false.

Distribuisce in uno slot di distribuzione esistente o in un ambiente di Servizio app di Azure. Per entrambe le destinazioni, l'attività richiede un nome del gruppo di risorse.

Se la destinazione di distribuzione è uno slot, verrà predefinito per lo slot di produzione . È anche possibile specificare qualsiasi altro nome dello slot esistente.

Se la destinazione di distribuzione è un ambiente 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 è necessario quando la destinazione di distribuzione è uno slot di distribuzione o un ambiente del servizio app.

Immette o seleziona il gruppo di risorse di Azure contenente il Servizio app di Azure specificato in precedenza.


slotName - Slot
string. Obbligatorio quando deployToSlotOrASE = true. Valore predefinito: production.

Immette o seleziona uno slot esistente, escluso lo slot di produzione.


package - Pacchetto o cartella
string. Obbligatorio. Valore predefinito: $(System.DefaultWorkingDirectory)/**/*.zip.

Percorso del file del pacchetto o della cartella contenente servizio app contenuto generato da MSBuild, un file zip compresso o un file di guerra. Le variabili (versione di compilazione | ) e i caratteri jolly sono supportati. Ad esempio: $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - Stack di runtime
string. facoltativo. Usare quando appType = functionAppLinux. Valori consentiti: DOTNET-ISOLATED|6.0PYTHON|3.9JAVA|17NODE|18NODE|16NODE|20NODE|14PYTHON|3.8PYTHON|3.10DOTNET|6.0DOTNET-ISOLATED|8.0PYTHON|3.11DOTNET-ISOLATED|7.0JAVA|8JAVA|11JAVA|21, .

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 come DOCKER|microsoft/azure-functions-* sono deprecati. I nuovi valori sono elencati nell'elenco a discesa nell'attività assistente. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.


runtimeStack - Stack di runtime
string. facoltativo. Usare quando appType = functionAppLinux. Valori consentiti: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp DOTNET|6.0 v3)), (DOTNET|6.0 JAVA|8 (functionapp v4)), (JAVA|8 (functionapp v2/ JAVA|11 v4)), (JAVA|11 (functionapp v3/v4 NODE|8 )), (NODE|8 (functionapp v2)), (functionapp v2 NODE|10 )) NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp NODE|14 v3)), (NODE|14 (functionapp v3/ NODE|16 v4)), (NODE|16 (functionapp v4)), (PYTHON|3.6 (functionapp v2/v3)), (PYTHON|3.7 (functionapp PYTHON|3.6 v2/ PYTHON|3.7 v4)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9 (PYTHON|3.9 (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 come DOCKER|microsoft/azure-functions-* sono deprecati. I nuovi valori sono elencati nell'elenco a discesa nell'attività assistente. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.


runtimeStack - Stack di runtime
string. facoltativo. Usare quando appType = functionAppLinux. Valori consentiti: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3 JAVA|8 )), (JAVA|8 (functionapp v2/v3 JAVA|11 )), (JAVA|11 (functionapp v3)), (NODE|8 (functionapp v2 NODE|10 )), (NODE|10 (functionapp v3)), (NODE|10 (functionapp v3 NODE|8 )2/v3)), NODE|12 (NODE|12 (functionapp NODE|14 v3)), (NODE|14 (functionapp PYTHON|3.6 v3)), (PYTHON|3.6 (functionapp v2/v3)), (PYTHON|3.7 (functionapp v2/ PYTHON|3.7PYTHON|3.8 v3)), (PYTHON|3.8 (functionapp v3)).

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 come DOCKER|microsoft/azure-functions-* sono deprecati. I nuovi valori sono elencati nell'elenco a discesa nell'attività assistente. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.


runtimeStack - Stack di runtime
string. facoltativo. Usare quando appType = functionAppLinux. Valori consentiti: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

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 come DOCKER|microsoft/azure-functions-* sono deprecati. I nuovi valori sono elencati nell'elenco a discesa nell'attività assistente. Se è disponibile una versione più recente di un framework nelle versioni di runtime supportate , è possibile specificarla anche se non è presente nell'elenco.


startUpCommand - Comando di avvio
string. facoltativo. Usare quando appType = functionAppLinux.

Immette il comando start up. Ad esempio:

dotnet run
dotnet filename.dll


customWebConfig - Generare parametri web.config per Python, Node.js, Go e Java
string. facoltativo. Usare quando appType != functionAppLinux && package NotEndsWith .war.

Un Web.config standard verrà generato e distribuito in Servizio app di Azure se l'applicazione non ne ha una. I valori in web.config variano in base al framework dell'applicazione e possono essere modificati. Ad esempio, per l'applicazione node.js, web.config avrà un file di avvio e iis_node valori del modulo. Questa funzionalità di modifica è solo per l' web.configgenerato .


appSettings - Impostazioni dell'app
string.

Immettere le impostazioni dell'applicazione usando la sintassi -key value , ad esempio :-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE . Racchiudere i valori che contengono spazi in virgolette doppie (ad esempio: "Eastern Standard Time").


configurationStrings - Impostazioni di configurazione
string.

Immettere le stringhe di configurazione usando la sintassi -key value , ad esempio : -phpVersion 5.6-linuxFxVersion: node|6.11. Racchiudere i valori che contengono spazi in virgolette doppie.


deploymentMethod - Metodo di distribuzione
string. Obbligatorio quando appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: auto (rilevamento automatico), (distribuzione zip), runFromPackagezipDeploy (distribuzione zip con run from package). Valore predefinito: auto.

Sceglie il metodo di distribuzione per l'app.


deploymentMethod - Metodo di distribuzione
string. Obbligatorio quando appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valori consentiti: auto (rilevamento automatico), (Distribuzione zip), runFromPackagezipDeploy (Esegui dal pacchetto). Valore predefinito: auto.

Sceglie il metodo di distribuzione per l'app.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Questa attività definisce le variabili di output seguenti, che è possibile usare nei passaggi, nei processi e nelle fasi downstream.

AppServiceApplicationUrl
URL dell'applicazione dell'servizio app selezionato.

Commenti

Usare l'attività App per le funzioni di Azure per distribuire le funzioni in Azure.

Metodi di distribuzione

In questa attività sono disponibili diversi metodi di distribuzione. Il valore predefinito è auto.

Per modificare l'opzione di distribuzione basata sul pacchetto 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:

Per impostazione predefinita, l'attività tenta di selezionare la tecnologia di distribuzione appropriata in base al pacchetto di input, servizio app tipo e sistema operativo agente.

  • Se viene fornito uno script post-distribuzione, usare Distribuzione zip.
  • Se il tipo di servizio app è App Web in Linux, usare Distribuzione zip.
  • 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 Run From Package (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.

API REST Kudu

L'API REST Kudu funziona in 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 nella Servizio app di Azure.

Zip Deploy

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 nome servizio app in Azure. Questa opzione sovrascrive tutto il contenuto esistente nella cartella wwwroot. Per altre informazioni, vedere Distribuzione zip per Funzioni di Azure.

Esecuzione da pacchetto

Esegui dal pacchetto crea lo stesso pacchetto di distribuzione zip. Anziché distribuire 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 Run your Azure Functions from a package file (Esecuzione di Funzioni di Azure da un file di pacchetto).

Risoluzione dei problemi

Errore: Non è stato possibile recuperare il token di accesso per Azure. Verificare se l'entità servizio utilizzata è 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à ha esito negativo con questo errore. Verificare la validità dell'entità servizio usata e controllare 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 in servizio app, il certificato deve essere firmato da un'autorità di certificazione attendibile. Se l'app Web visualizza errori di convalida del certificato, è 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 release resta bloccata a lungo e poi ha esito negativo

Questo problema potrebbe essere il risultato di capacità insufficiente nel piano di servizio app. Per risolvere questo problema, è possibile aumentare l'istanza di servizio app per aumentare la CPU, la RAM e lo spazio su disco disponibili oppure provare con un piano di servizio app diverso.

Codici errore 5xx

Se viene visualizzato un errore 5xx , controllare lo stato del servizio di Azure.

Funzione di Azure interrotta improvvisamente il funzionamento

Funzioni di Azure potrebbe interrompere improvvisamente il funzionamento se più di un anno è passato dall'ultima distribuzione. Se si distribuisce con "RunFromPackage" in "deploymentMethod", una firma di accesso condiviso con data di scadenza di 1 anno viene generata 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, distribuire di nuovo per generare una firma di accesso condiviso con una data di scadenza di un anno.

Errore: Non è stato trovato alcun pacchetto con il criterio specificato

Verificare se il pacchetto menzionato nell'attività viene pubblicato come artefatto nella compilazione o in una fase precedente e quindi scaricato nel processo corrente.

Errore: Pubblicare con l'opzione di distribuzione zip non è supportata per il tipo di pacchetto msBuild

I pacchetti Web creati tramite l'attività MSBuild (con argomenti predefiniti) hanno una struttura di cartelle annidata che può essere distribuita correttamente solo da Distribuzione Web. L'opzione di distribuzione pubblica a zip non può essere usata per distribuire tali pacchetti. Per convertire la struttura di creazione pacchetti, seguire questa procedura:

  1. 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":

    Screenshot che mostra i valori della soluzione di compilazione.

  2. Aggiungere un'attività Archivio e modificare i valori come indicato di seguito:

    1. Modificare la cartella radice o il file in cui archiviare in $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Deselezionare la casella di controllo Nome cartella radice prepend per archiviare i percorsi :

      Screenshot che mostra i valori di Archivio.

La distribuzione dell'app per le funzioni in Windows ha esito positivo, ma l'app non funziona

Questo problema potrebbe 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à.

  1. Selezionare l'attività e passare a Genera parametri web.config per Python, Node.js, Go e App Java:

    Screenshot che mostra la sezione Genera parametri web.config.

  2. Selezionare il pulsante Altro (...) in Genera parametri web.config per Python, Node.js, Go e Java per modificare i parametri:

    Screenshot che mostra i parametri Genera web.config.

  3. Selezionare il tipo di applicazione nell'elenco Framework applicazioni .

  4. Selezionare OK. In questo modo verranno popolati i parametri di web.config necessari per generare il file di web.config.

Domande frequenti

Come configurare la connessione al servizio?

Questa attività richiede una connessione al servizio Resource Manager di Azure.

Come configurare la distribuzione dei processi Web con Application Insights?

Quando si esegue la distribuzione in un servizio app, se Application Insights è configurato e è stato abilitatoRemove additional files at destination, è necessario abilitare Exclude files from the App_Data folderanche . L'abilitazione di questa opzione mantiene l'estensione Application Insights in uno stato sicuro. Questo passaggio è necessario perché il processo Web continuo di Application Insights viene installato nella cartella App_Data.

Come è necessario configurare l'agente se è dietro un proxy durante la distribuzione in 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 Azure DevOps Server tramite il proxy. Altre informazioni sull'esecuzione di un agente self-hosted dietro un proxy Web.

Non è possibile distribuire in un ambiente del servizio app interno usando una connessione al servizio di Resource Manager di Azure e un agente ospitato da Microsoft

Per progettazione, 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 del ambiente del servizio app. Impostare anche una zona DNS privata per abilitare la comunicazione tra le risorse.

Esempio

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@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Per distribuire una funzione in Linux, aggiungere il appType parametro 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 Compilare e distribuire Java in Funzioni di Azure.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.104.1 o versione successiva
Categoria attività Distribuire