Continuous Deployment für Azure Functions

Mit Azure Functions können Sie Ihren Code mithilfe der Integration der Quellcodeverwaltung kontinuierlich bereitstellen. Die Integration der Quellcodeverwaltung ermöglicht einen Workflow, bei dem eine Codeaktualisierung eine Bereitstellung in Azure auslöst. Sollten Sie noch nicht mit Azure Functions vertraut sein, sehen Sie sich zunächst die Einführung in Azure Functions an.

Continuous Deployment eignet sich hervorragend für Projekte mit häufiger Integration zahlreicher Beiträge. 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. Sie können Continuous Deployment in Azure Functions von folgenden Speicherorten für Quellcode konfigurieren:

Die Bereitstellungseinheit für Funktionen in Azure ist die Funktions-App. Alle Funktionen in einer Funktions-App werden gleichzeitig bereitgestellt. 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.

Anforderungen für 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.

Der Code für alle Funktionen in einer bestimmten Funktions-App befindet sich in einem Stammprojektordner, der eine Hostkonfigurationsdatei enthält. Die Datei host.json enthält die runtimespezifische Konfiguration und befindet sich im Stammordner der Funktions-App. Ein Ordner bin enthält Pakete und andere Bibliotheksdateien, die von der Funktions-App benötigt werden. Bestimmte Ordnerstrukturen, die von der Funktions-App benötigt werden, sind von der Sprache abhängig:

In der Version 2.x und höheren Versionen der Functions-Runtime müssen sich alle Funktionen in der Funktions-App denselben Sprachstapel teilen.

Hinweis

Continuous Deployment wird derzeit nicht für Linux-Apps unterstützt, die mit einem Verbrauchstarif ausgeführt werden.

Einrichten der fortlaufenden Bereitstellung

Gehen Sie wie folgt vor, um Continuous Deployment für eine vorhandene Funktions-App zu konfigurieren. Die Schritte zeigen die Integration eines GitHub-Repositorys. Die Vorgehensweise für Azure Repos und andere Quellcoderepositorys ist jedoch ähnlich.

  1. Wählen Sie im Azure-Portal in ihrer Funktions-App Deployment Center, GitHub und dann Autorisieren aus. Falls Sie GitHub bereits autorisiert haben, wählen Sie Weiter aus und überspringen den nächsten Schritt.

    Azure App Service Deployment Center

  2. Wählen Sie in GitHub AzureAppService autorisieren aus.

    Authorize Azure App Service

    Geben Sie Ihr GitHub-Kennwort ein, und wählen Sie dann Weiter aus.

  3. Wählen Sie einen der folgenden Buildanbieter aus:

    • App Service-Builddienst: Empfiehlt sich, wenn Sie keinen Build oder einen generischen Build benötigen.
    • Azure-Pipelines (Vorschau) : Empfiehlt sich, wenn Sie mehr Kontrolle über den Build benötigen. Dieser Anbieter befindet sich derzeit in der Vorschauphase.

    Wählen Sie Weiter.

  4. Konfigurieren Sie Informationen, die für die von Ihnen angegebene Option der Quellcodeverwaltung spezifisch sind. Für GitHub müssen Werte für Organisation, Repository und Branch eingegeben bzw. ausgewählt werden. Die Werte basieren auf dem Ort, an dem sich Ihr Code befindet. Wählen Sie anschließend Weiter aus.

    Configure GitHub

  5. Überprüfen Sie alle Angaben, und wählen Sie anschließend Fertig stellen aus, um die Bereitstellungskonfiguration abzuschließen.

Nach Abschluss des Prozesses wird der gesamte Code aus der angegebenen Quelle für Ihre App bereitgestellt. An diesem Punkt lösen Änderungen in der Bereitstellungsquelle eine Bereitstellung dieser Änderungen in Ihrer Funktions-App in Azure aus.

Hinweis

Nach dem Konfigurieren von Continuous Integration können Sie Ihre Quelldateien im Functions-Portal nicht mehr bearbeiten. Wenn Sie Ihren Code ursprünglich über Ihren lokalen Computer veröffentlicht haben, müssen Sie möglicherweise die WEBSITE_RUN_FROM_PACKAGE-Einstellung in Ihrer Funktions-App in 0 ändern.

Nächste Schritte