Implementación continua para Azure FunctionsContinuous deployment for Azure Functions

Puede usar Azure Functions para implementar el código de forma continua mediante la integración del control de código fuente.You can use Azure Functions to deploy your code continuously by using source control integration. La integración del control de código fuente habilita un flujo de trabajo en el que una actualización de código desencadena la implementación en Azure.Source control integration enables a workflow in which a code update triggers deployment to Azure. Si no está familiarizado con Azure Functions, consulte Introducción a Azure Functions para comenzar.If you're new to Azure Functions, get started by reviewing the Azure Functions overview.

La implementación continua es una buena opción para los proyectos donde se integran contribuciones diversas y frecuentes.Continuous deployment is a good option for projects where you integrate multiple and frequent contributions. Al usar la implementación continua, se mantiene un único origen de confianza para el código, lo que permite a los equipos colaborar fácilmente.When you use continuous deployment, you maintain a single source of truth for your code, which allows teams to easily collaborate. La implementación continua en Azure Functions se puede configurar desde las siguientes ubicaciones de código fuente:You can configure continuous deployment in Azure Functions from the following source code locations:

La unidad de implementación de las funciones en Azure es la aplicación de funciones.The unit of deployment for functions in Azure is the function app. Todas las funciones de una aplicación de funciones se implementan a la vez.All functions in a function app are deployed at the same time. Tras habilitar la implementación continua, el acceso al código de función en Azure Portal se configura como de solo lectura, ya que el origen de confianza está establecido en otro lugar.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.

Requisitos de implementación continuaRequirements for continuous deployment

Para que la implementación continua se realice correctamente, la estructura de directorios debe ser compatible con la estructura básica de carpetas que espera Azure Functions.For continuous deployment to succeed, your directory structure must be compatible with the basic folder structure that Azure Functions expects.

El código de todas las funciones de una aplicación de función está ubicado en una carpeta de proyecto raíz que contiene un archivo de configuración de host y una o varias subcarpetas.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. Cada subcarpeta contiene el código de una función diferente.Each subfolder contains the code for a separate function. La estructura de carpetas se muestra en la siguiente representación:The folder structure is shown in the following representation:

FunctionApp
 | - host.json
 | - MyFirstFunction
 | | - function.json
 | | - ...  
 | - MySecondFunction
 | | - function.json
 | | - ...  
 | - SharedCode
 | - bin

Tanto en la versión 2.x como en las superiores del runtime de Functions, todas las funciones de la aplicación de función deben compartir la misma pila de lenguaje.In version 2.x and higher of the Functions runtime, all functions in the function app must share the same language stack.

El archivo host.json contiene configuraciones específicas del entorno de ejecución y está en la carpeta raíz de la aplicación de funciones.The host.json file contains runtime-specific configurations and is in the root folder of the function app. Un carpeta bin contiene paquetes y otros archivos de biblioteca que requiere la aplicación de funciones.A bin folder contains packages and other library files that the function app requires. Consulte los requisitos específicos de idioma para un proyecto de aplicación de función:See the language-specific requirements for a function app project:

Nota

Todavía no se admite la implementación continua para las aplicaciones de Linux que se ejecutan en un plan de consumo.Continuous deployment is not yet supported for Linux apps running on a Consumption plan.

Configuración de la implementación continuaSet up continuous deployment

Para configurar la implementación continua de una aplicación de funciones existente, siga estos pasos.To configure continuous deployment for an existing function app, complete these steps. Estos pasos muestran la integración con un repositorio de GitHub, aunque estos mismos pasos son válidos en Azure Repos o en otros repositorios de código fuente.The steps demonstrate integration with a GitHub repository, but similar steps apply for Azure Repos or other source code repositories.

  1. En la aplicación de funciones de Azure Portal, seleccione Centro de implementación, GitHub y, a continuación, Autorizar.In your function app in the Azure portal, select Deployment Center, select GitHub, and then select Authorize. Si ya ha autorizado GitHub, seleccione Continuar y omita el paso siguiente.If you've already authorized GitHub, select Continue and skip the next step.

    Centro de implementación de Azure App Service

  2. En GitHub, seleccione Autorizar AzureAppService.In GitHub, select Authorize AzureAppService.

    Centro de implementación de Azure App Service

    Escriba la contraseña de GitHub y, a continuación, seleccione Continuar.Enter your GitHub password and then select Continue.

  3. Seleccione uno de los siguientes proveedores de compilación:Select one of the following build providers:

    • Servicio de compilación de App Service: opción ideal si no se necesita una compilación o se necesita una compilación genérica.App Service build service: Best when you don't need a build or if you need a generic build.
    • Azure Pipelines (versión preliminar) : opción ideal si se necesita más control sobre la compilación.Azure Pipelines (Preview): Best when you need more control over the build. Este proveedor está actualmente en versión preliminar.This provider currently is in preview.

    Seleccione Continuar.Select Continue.

  4. Configure información específica de la opción de control de origen que haya indicado.Configure information specific to the source control option you specified. En GitHub, debe escribir o seleccionar valores de Organización, Repositorio y Rama.For GitHub, you must enter or select values for Organization, Repository, and Branch. Los valores se basan en la ubicación del código.The values are based on the location of your code. Después, seleccione Continuar.Then, select Continue.

    Centro de implementación de Azure App Service

  5. Revise todos los detalles y seleccione Finalizar para completar la configuración de la implementación.Review all details, and then select Finish to complete your deployment configuration.

Cuando finalice el proceso, todo el código del origen especificado se implementará en la aplicación.When the process is finished, all code from the specified source is deployed to your app. Hecho esto, los cambios en el origen de implementación desencadenarán una implementación de dichos cambios en la aplicación de funciones en Azure.At that point, changes in the deployment source trigger a deployment of those changes to your function app in Azure.

Nota

Después de configurar la integración continua, ya no podrá modificar los archivos de origen en el portal de Functions.After you configure continuous integration, you can no longer edit your source files in the Functions portal.

Pasos siguientesNext steps