Continuous Deployment für Azure FunctionsContinuous deployment for Azure Functions

Mit Azure Functions können Sie Ihren Code mithilfe der Integration der Quellcodeverwaltung kontinuierlich bereitstellen.You can use Azure Functions to deploy your code continuously by using source control integration. Die Integration der Quellcodeverwaltung ermöglicht einen Workflow, bei dem eine Codeaktualisierung eine Bereitstellung in Azure auslöst.Source control integration enables a workflow in which a code update triggers deployment to Azure. Sollten Sie noch nicht mit Azure Functions vertraut sein, sehen Sie sich zunächst die Einführung in Azure Functions an.If you're new to Azure Functions, get started by reviewing the Azure Functions overview.

Continuous Deployment eignet sich hervorragend für Projekte mit häufiger Integration zahlreicher Beiträge.Continuous deployment is a good option for projects where you integrate multiple and frequent contributions. Bei Verwendung von Continuous Deployment wird für Ihren Code eine einzelne alleingültige Quelle (Single Source Of Truth, SSOT) gepflegt, wodurch Teams problemlos zusammenarbeiten können.When you use continuous deployment, you maintain a single source of truth for your code, which allows teams to easily collaborate. Sie können Continuous Deployment in Azure Functions von folgenden Speicherorten für Quellcode konfigurieren:You can configure continuous deployment in Azure Functions from the following source code locations:

Die Bereitstellungseinheit für Funktionen in Azure ist die Funktions-App.The unit of deployment for functions in Azure is the function app. Alle Funktionen in einer Funktions-App werden gleichzeitig bereitgestellt.All functions in a function app are deployed at the same time. Nach Aktivierung von Continuous Deployment wird der Zugriff auf Funktionscode im Azure-Portal als schreibgeschützt konfiguriert, da die Source of Truth auf einen anderen Ort festgelegt ist.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.

Anforderungen für Continuous DeploymentRequirements for continuous deployment

Damit Continuous Deployment erfolgreich ausgeführt werden kann, muss Ihre Verzeichnisstruktur mit der grundlegenden Ordnerstruktur kompatibel sein, die von Azure Functions erwartet wird.For continuous deployment to succeed, your directory structure must be compatible with the basic folder structure that Azure Functions expects.

Der Code für alle Funktionen in einer bestimmten Funktions-App befindet sich in einem Stammprojektordner, der eine Hostkonfigurationsdatei und mindestens einen Unterordner enthält.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. Jeder Unterordner enthält den Code für eine separate Funktion.Each subfolder contains the code for a separate function. Die folgende Darstellung zeigt die Ordnerstruktur:The folder structure is shown in the following representation:

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

In der Version 2.x der Functions-Runtime müssen sich alle Funktionen in der Funktions-App denselben Sprachstapel teilen.In version 2.x of the Functions runtime, all functions in the function app must share the same language stack.

Die Datei host.json enthält die runtimespezifische Konfiguration und befindet sich im Stammordner der Funktions-App.The host.json file contains runtime-specific configurations and is in the root folder of the function app. Ein Ordner bin enthält Pakete und andere Bibliotheksdateien, die von der Funktions-App benötigt werden.A bin folder contains packages and other library files that the function app requires. Sprachspezifische Anforderungen für ein Funktions-App-Projekt:See the language-specific requirements for a function app project:

Einrichten von Continuous DeploymentSet up continuous deployment

Gehen Sie wie folgt vor, um Continuous Deployment für eine vorhandene Funktions-App zu konfigurieren.To configure continuous deployment for an existing function app, complete these steps. Die Schritte zeigen die Integration eines GitHub-Repositorys. Die Vorgehensweise für Azure Repos und andere Quellcoderepositorys ist jedoch ähnlich.The steps demonstrate integration with a GitHub repository, but similar steps apply for Azure Repos or other source code repositories.

  1. Wählen Sie im Azure-Portal unter Ihrer Funktions-App die Optionen Plattformfeatures > Bereitstellungscenter aus.In your function app in the Azure portal, select Platform features > Deployment Center.

    Öffnen des Bereitstellungscenters

  2. Wählen Sie im Bereitstellungscenter die Option GitHub und anschließend Autorisieren aus.In Deployment Center, select GitHub, and then select Authorize. Falls Sie GitHub bereits autorisiert haben, wählen Sie Weiter aus.If you've already authorized GitHub, select Continue.

    Azure App Service-Bereitstellungscenter

  3. Wählen Sie auf GitHub die Schaltfläche Authorize AzureAppService (AzureAppService autorisieren) aus.In GitHub, select the Authorize AzureAppService button.

    Autorisieren von Azure App Service

    Wählen Sie im Azure-Portal im Bereitstellungscenter die Option Weiter aus.In Deployment Center in the Azure portal, select Continue.

  4. Wählen Sie einen der folgenden Buildanbieter aus:Select one of the following build providers:

    • App Service-Builddienst: Empfiehlt sich, wenn Sie keinen Build oder einen generischen Build benötigen.App Service build service: Best when you don't need a build or if you need a generic build.
    • Azure-Pipelines (Vorschau) : Empfiehlt sich, wenn Sie mehr Kontrolle über den Build benötigen.Azure Pipelines (Preview): Best when you need more control over the build. Dieser Anbieter befindet sich derzeit in der Vorschauphase.This provider currently is in preview.

    Auswählen eines Buildanbieters

  5. Konfigurieren Sie Informationen, die für die von Ihnen angegebene Option der Quellcodeverwaltung spezifisch sind.Configure information specific to the source control option you specified. Für GitHub müssen Werte für Organisation, Repository und Branch eingegeben bzw. ausgewählt werden.For GitHub, you must enter or select values for Organization, Repository, and Branch. Die Werte basieren auf dem Ort, an dem sich Ihr Code befindet.The values are based on the location of your code. Wählen Sie anschließend Weiter aus.Then, select Continue.

    Konfigurieren von GitHub

  6. Überprüfen Sie alle Angaben, und wählen Sie anschließend Fertig stellen aus, um die Bereitstellungskonfiguration abzuschließen.Review all details, and then select Finish to complete your deployment configuration.

    Zusammenfassung

Nach Abschluss des Prozesses wird der gesamte Code aus der angegebenen Quelle für Ihre App bereitgestellt.When the process is finished, all code from the specified source is deployed to your app. An diesem Punkt lösen Änderungen in der Bereitstellungsquelle eine Bereitstellung dieser Änderungen in Ihrer Funktions-App in Azure aus.At that point, changes in the deployment source trigger a deployment of those changes to your function app in Azure.

BereitstellungsszenarienDeployment scenarios

Verschieben vorhandener Funktionen in Continuous DeploymentMove existing functions to continuous deployment

Wenn Sie bereits Funktionen im Azure-Portal geschrieben haben und den Inhalt Ihrer App vor dem Wechsel zu Continuous Deployment herunterladen möchten, navigieren Sie zur Registerkarte Übersicht Ihrer Funktions-App.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. Wählen Sie die Schaltfläche App-Inhalt herunterladen aus.Select the Download app content button.

Herunterladen des App-Inhalts

Hinweis

Nach dem Konfigurieren von Continuous Integration können Sie Ihre Quelldateien im Functions-Portal nicht mehr bearbeiten.After you configure continuous integration, you can no longer edit your source files in the Functions portal.

Nächste SchritteNext steps