Condividi tramite


AzureFunctionAppContainer@1 - Funzioni di Azure per l'attività contenitore v1

Aggiornare un'app per le funzioni con un contenitore Docker.

Aggiornare le app per le funzioni con i contenitori Docker.

Sintassi

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

Input

azureSubscription - Sottoscrizione di Azure
string. Obbligatorio.

Seleziona la sottoscrizione di Azure Resource Manager per la distribuzione.


appName - Nome app
string. Obbligatorio.

Nome dell'app per le funzioni per i contenitori.


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

Impostare questo input su per true la distribuzione in uno slot di distribuzione esistente o Servizio app di Azure Ambiente. L'attività richiede un nome gruppo di risorse per entrambe le destinazioni. Per l'opzione slot di distribuzione, il valore predefinito viene distribuito nello slot di produzione oppure è 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.

Nome del gruppo di risorse che contiene l'app per le funzioni per contenitori.


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

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


imageName - Nome immagine
string. Obbligatorio.

Nome di dominio univoco globale per il registro o lo spazio dei nomi specifico.

Nota: Un nome di immagine completo sarà del formato: <registry or namespace> <repository> <tag>. Ad esempio, myregistry.azurecr.io/nginx:latest.


containerCommand - Comando di avvio
string.

Comando di avvio che viene eseguito dopo la distribuzione. Per esempio dotnet rundotnet filename.dll.


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.


Opzioni di controllo 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 utilizzare nei passaggi, nei processi e nelle fasi downstream.

AppServiceApplicationUrl
URL dell'applicazione dell'servizio app selezionato.

Commenti

Usare questa attività per distribuire una funzione di Azure in Linux usando un'immagine personalizzata.

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 di 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.

Come configurare la connessione al servizio?

Questa attività richiede una connessione al servizio di 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.

Esempio

Questo esempio distribuisce Funzioni di Azure in Linux usando contenitori:


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione 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