Distribuzione continua per Funzioni di AzureContinuous deployment for Azure Functions

È possibile usare funzioni di Azure per distribuire il codice in modo continuo usando l' integrazione del controllodel codice sorgente.You can use Azure Functions to deploy your code continuously by using source control integration. L'integrazione del controllo del codice sorgente consente un flusso di lavoro in cui un aggiornamento del codice attiva la distribuzione in Azure.Source control integration enables a workflow in which a code update triggers deployment to Azure. Se non si ha familiarità con funzioni di Azure, vedere la Panoramica di funzioni di Azure.If you're new to Azure Functions, get started by reviewing the Azure Functions overview.

La distribuzione continua è una scelta ideale per i progetti in cui si integrano contributi multipli e frequenti.Continuous deployment is a good option for projects where you integrate multiple and frequent contributions. Quando si usa la distribuzione continua, si mantiene un'unica fonte di verità per il codice, che consente ai team di collaborare con facilità.When you use continuous deployment, you maintain a single source of truth for your code, which allows teams to easily collaborate. È possibile configurare la distribuzione continua in funzioni di Azure dalle seguenti posizioni del codice sorgente:You can configure continuous deployment in Azure Functions from the following source code locations:

L'unità di distribuzione per le funzioni in Azure è l'app per le funzioni.The unit of deployment for functions in Azure is the function app. Tutte le funzioni in un'app per le funzioni vengono distribuite nello stesso momento.All functions in a function app are deployed at the same time. Dopo aver abilitato la distribuzione continua, l'accesso al codice della funzione nella portale di Azure viene configurato come di sola lettura , perché l'origine della verità è impostata come altrove.After you enable continuous deployment, access to function code in the Azure portal is configured as read-only because the source of truth is set to be elsewhere.

Requisiti per la distribuzione continuaRequirements for continuous deployment

Per la riuscita della distribuzione continua, la struttura di directory deve essere compatibile con la struttura di cartelle di base prevista da funzioni di Azure.For continuous deployment to succeed, your directory structure must be compatible with the basic folder structure that Azure Functions expects.

Il codice per tutte le funzioni in una specifica app per le funzioni si trova in una cartella di progetto radice che contiene un file di configurazione host e una o più sottocartelle.The code for all the functions in a specific function app is located in a root project folder that contains a host configuration file and one or more subfolders. Ogni sottocartella contiene il codice per una funzione separata.Each subfolder contains the code for a separate function. La struttura di cartelle è illustrata nella rappresentazione seguente:The folder structure is shown in the following representation:

FunctionApp
 | - host.json
 | - Myfirstfunction
 | | - function.json
 | | - ...  
 | - mysecondfunction
 | | - function.json
 | | - ...  
 | - SharedCode
 | - bin

Nella versione 2.x del runtime di funzioni, tutte le funzioni nell'app per le funzioni devono condividere lo stesso stack di linguaggio.In version 2.x of the Functions runtime, all functions in the function app must share the same language stack.

Il host. JSON file contiene configurazioni specifiche di runtime e si trova nella cartella radice dell'app per le funzioni.The host.json file contains runtime-specific configurations and is in the root folder of the function app. Oggetto bin cartella contiene i pacchetti e altri file di libreria che richiede l'app per le funzioni.A bin folder contains packages and other library files that the function app requires. Vedere i requisiti specifici del linguaggio per un progetto di app per le funzioni:See the language-specific requirements for a function app project:

Nota

La distribuzione continua non è ancora supportata per le app Linux in esecuzione in un piano a consumo.Continuous deployment is not yet supported for Linux apps running on a Consumption plan.

Configurare la distribuzione continuaSet up continuous deployment

Per configurare la distribuzione continua per un'app per le funzioni esistente, completare questi passaggi.To configure continuous deployment for an existing function app, complete these steps. I passaggi illustrano l'integrazione con un repository GitHub, ma si applicano passaggi simili per Azure Repos o altri repository del codice sorgente.The steps demonstrate integration with a GitHub repository, but similar steps apply for Azure Repos or other source code repositories.

  1. Nell'app per le funzioni nella portale di Azureselezionare funzionalità della piattaforma > centro distribuzione.In your function app in the Azure portal, select Platform features > Deployment Center.

    Apri Centro distribuzione

  2. In centro distribuzioneselezionare GitHube quindi selezionare autorizza.In Deployment Center, select GitHub, and then select Authorize. Se GitHub è già stato autorizzato, selezionare continue (continua).If you've already authorized GitHub, select Continue.

    Centro distribuzione servizio app Azure

  3. In GitHub selezionare il pulsante autorizza AzureAppService .In GitHub, select the Authorize AzureAppService button.

    Autorizzare il servizio app Azure

    In centro distribuzione nel portale di Azure selezionare continua.In Deployment Center in the Azure portal, select Continue.

  4. Selezionare uno dei provider di compilazione seguenti:Select one of the following build providers:

    • Servizio di compilazione del servizio app: migliore quando non è necessaria una compilazione o se è necessaria una compilazione generica.App Service build service: Best when you don't need a build or if you need a generic build.
    • Azure Pipelines (anteprima) : migliore quando è necessario un maggiore controllo sulla compilazione.Azure Pipelines (Preview): Best when you need more control over the build. Questo provider è attualmente disponibile in anteprima.This provider currently is in preview.

    Selezionare un provider di compilazione

  5. Configurare informazioni specifiche per l'opzione di controllo del codice sorgente specificata.Configure information specific to the source control option you specified. Per GitHub è necessario immettere o selezionare i valori per Organization, repositorye Branch.For GitHub, you must enter or select values for Organization, Repository, and Branch. I valori sono basati sulla posizione del codice.The values are based on the location of your code. Selezionare quindi Continua.Then, select Continue.

    Configurare GitHub

  6. Esaminare tutti i dettagli e quindi fare clic su fine per completare la configurazione della distribuzione.Review all details, and then select Finish to complete your deployment configuration.

    summary

Al termine del processo, tutto il codice dall'origine specificata viene distribuito nell'app.When the process is finished, all code from the specified source is deployed to your app. A questo punto, le modifiche apportate all'origine della distribuzione attivano una distribuzione di tali modifiche nell'app per le funzioni in Azure.At that point, changes in the deployment source trigger a deployment of those changes to your function app in Azure.

Scenari di distribuzioneDeployment scenarios

Trasferire le funzioni esistenti nella distribuzione continuaMove existing functions to continuous deployment

Se sono già state scritte funzioni nell' portale di Azure e si vuole scaricare il contenuto dell'app prima di passare alla distribuzione continua, passare alla scheda Panoramica dell'app per le funzioni.If you've already written functions in the Azure portal and you want to download the contents of your app before you switch to continuous deployment, go to the Overview tab of your function app. Selezionare il pulsante Scarica contenuto dell'app .Select the Download app content button.

Scarica contenuto dell'app

Nota

Dopo aver configurato l'integrazione continua, non è più possibile modificare i file di origine nel portale delle funzioni.After you configure continuous integration, you can no longer edit your source files in the Functions portal.

Passaggi successiviNext steps