Continuous Deployment in Azure App ServiceContinuous deployment to Azure App Service

Der Azure App Service ermöglicht die kontinuierliche Bereitstellung von GitHub-, BitBucket- und Azure Repos-Repositorys durch Abrufen der neuesten Updates.Azure App Service enables continuous deployment from GitHub, BitBucket, and Azure Repos repositories by pulling in the latest updates. Dieser Artikel zeigt Ihnen, wie Sie das Azure-Portal nutzen können, um Ihre App kontinuierlich über den Kudu Build-Dienst oder Azure Pipelines bereitzustellen.This article shows you how to use the Azure portal to continuously deploy your app through the Kudu build service or Azure Pipelines.

Weitere Informationen zu den Quellcodeverwaltungsdiensten finden Sie unter Erstellen eines Repositorys (GitHub), Erstellen eines Repositorys (BitBucket) oder Erstellen eines neuen Git-Repositorys (Azure Repos).For more information on the source control services, see Create a repo (GitHub), Create a repo (BitBucket), or Create a new Git repo (Azure Repos).

Vorbereiten Ihres RepositorysPrepare your repository

Um automatische Builds vom Azure App Service-Kudu-Buildserver zu erhalten, muss das Stammverzeichnis Ihres Repositorys die richtigen Dateien enthalten.To get automatic builds from Azure App Service Kudu build server, make sure that your repository root has the correct files in your project.

TypRuntime StammverzeichnisdateienRoot directory files
ASP.NET (nur Windows)ASP.NET (Windows only) *.sln, *.csproj oder default.aspx*.sln, *.csproj, or default.aspx
ASP.NET CoreASP.NET Core *.sln oder *.csproj*.sln or *.csproj
PHPPHP index.phpindex.php
Ruby (nur Linux)Ruby (Linux only) GemfileGemfile
Node.jsNode.js server.js, app.js oder package.json mit einem Startskriptserver.js, app.js, or package.json with a start script
PythonPython *.py, requirements.txt oder runtime.txt*.py, requirements.txt, or runtime.txt
HTMLHTML default.htm, default.html, default.asp, index.htm, index.html oder iisstart.htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
WebJobsWebJobs <job_name>/run.<extension><job_name>/run.<extension> unter App_Data/jobs/continuous (für fortlaufende WebJobs) oder App_Data/jobs/triggered (für ausgelöste WebJobs).under App_Data/jobs/continuous for continuous WebJobs, or App_Data/jobs/triggered for triggered WebJobs. Weitere Informationen finden Sie in der Kudu-Dokumentation zu WebJobs.For more information, see Kudu WebJobs documentation.
FunctionsFunctions Siehe Kontinuierliche Bereitstellung für Azure Functions.See Continuous deployment for Azure Functions.

Zum Anpassen Ihrer Bereitstellung schließen Sie eine Datei vom Typ .deployment im Repositorystamm ein.To customize your deployment, include a .deployment file in the repository root. Weitere Informationen finden Sie unter Anpassen von Bereitstellungen und Benutzerdefiniertes Bereitstellungsskript.For more information, see Customize deployments and Custom deployment script.

Hinweis

Wenn Sie in Visual Studio entwickeln, kann Visual Studio ein Repository für Sie erstellen.If you develop in Visual Studio, let Visual Studio create a repository for you. Das Projekt kann sofort über Git bereitgestellt werden.The project is immediately ready to be deployed by using Git.

Autorisieren von Azure App ServiceAuthorize Azure App Service

Um Azure Repos zu verwenden, stellen Sie sicher, dass Ihre Azure DevOps-Organisation mit Ihrem Azure-Abonnement verknüpft ist.To use Azure Repos, make sure your Azure DevOps organization is linked to your Azure subscription. Weitere Informationen finden Sie unter „Einrichten eines Azure DevOps-Dienstkontos zur Bereitstellung für eine Webanwendung“.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

Für Bitbucket oder GitHub autorisieren Sie den Azure App Service, sich mit Ihrem Repository zu verbinden.For Bitbucket or GitHub, authorize Azure App Service to connect to your repository. Sie müssen sich nur einmal bei einem Quellcodverwaltungsdienst autorisieren.You only need to authorize with a source control service once.

  1. Suchen Sie im Azure-Portal nach App Services, und wählen Sie den Eintrag aus.In the Azure portal, search for App Services and select.

    Suchen Sie nach App Services.

  2. Wählen Sie den bereitzustellenden App Service aus.Select the App Service you want to deploy.

    Wählen Sie Ihre App aus.

  3. Wählen Sie auf der App-Seite im linken Menü „Bereitstellungscenter“ aus.On the app page, select Deployment Center in the left menu.

  4. Wählen Sie auf der Seite „Bereitstellungscenter“ die Option GitHub oder Bitbucket und dann „Autorisieren“ .On the Deployment Center page, select GitHub or Bitbucket, and then select Authorize.

    Wählen Sie den Quellcodeverwaltungdienst und dann „Autorisieren“.

  5. Melden Sie sich bei Bedarf beim Dienst an, und folgen Sie den Anweisungen zur Autorisierung.Sign in to the service if necessary, and follow the authorization prompts.

Aktivieren von Continuous DeploymentEnable continuous deployment

Nachdem Sie einen Quellcodeverwaltungdienst autorisiert haben, konfigurieren Sie Ihre Anwendung für die fortlaufende Bereitstellung über den integrierten Kudu App Service Build-Server oder über Azure Pipelines.After you authorize a source control service, configure your app for continuous deployment through the built-in Kudu App Service build server, or through Azure Pipelines.

Option 1: Kudu App ServiceOption 1: Kudu App Service

Sie können den integrierten Kudu App Service Build-Server verwenden, um die Bereitstellung kontinuierlich von GitHub, Bitbucket oder Azure Repos aus vorzunehmen.You can use the built-in Kudu App Service build server to continuously deploy from GitHub, Bitbucket, or Azure Repos.

  1. Suchen Sie im Azure-Portal nach App Services, und wählen Sie dann den App Service aus, den Sie bereitstellen möchten.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Wählen Sie auf der App-Seite im linken Menü „Bereitstellungscenter“ aus.On the app page, select Deployment Center in the left menu.

  3. Wählen Sie auf der Seite „Bereitstellungscenter“ Ihren autorisierten Quellcodeverwaltungdienst aus und wählen Sie „Weiter“ .Select your authorized source control provider on the Deployment Center page, and select Continue. Für GitHub oder Bitbucket können Sie auch „Konto ändern“ wählen, um das autorisierte Konto zu ändern.For GitHub or Bitbucket, you can also select Change account to change the authorized account.

    Hinweis

    Um Azure Repos zu verwenden, stellen Sie sicher, dass Ihre Azure DevOps Services-Organisation mit Ihrem Azure-Abonnement verknüpft ist.To use Azure Repos, make sure your Azure DevOps Services organization is linked to your Azure subscription. Weitere Informationen finden Sie unter „Einrichten eines Azure DevOps-Dienstkontos zur Bereitstellung für eine Webanwendung“.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

  4. Wählen Sie für GitHub oder Azure Repos auf der Seite „Buildanbieter“ die Option „App Service-Builddienst“ und dann „Weiter“ .For GitHub or Azure Repos, on the Build provider page, select App Service build service, and then select Continue. Bitbucket verwendet immer den App Service-Builddienst.Bitbucket always uses the App Service build service.

    Wählen Sie die Option „App Service-Builddienst“ und dann „Weiter“.

  5. Auf der Seite Konfigurieren:On the Configure page:

    • Wählen Sie das Dropdownmenü für GitHub, und wählen Sie dann die „Organisation“ , „Repository“ und „Branch“ , die sie fortlaufend bereitstellen möchten.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Hinweis

      Wenn Sie keine Repositorys sehen, müssen Sie möglicherweise den Azure App Service in GitHub autorisieren.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navigieren Sie zu Ihrem GitHub-Repository und wählen Sie Einstellungen > Anwendungen > Autorisierte OAuth-Apps.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Wählen Sie Azure App Service und dann „Zuweisung“ .Select Azure App Service, and then select Grant. Bei Organisationsrepositorys müssen Sie Besitzer der Organisation sein, um die Berechtigungen erteilen zu können.For organization repositories, you must be an owner of the organization to grant the permissions.

    • Wählen Sie für Bitbucket „Team“ aus, dann „Repository“ und die „Branch“ , die Sie fortlaufend nutzen möchten.For Bitbucket, select the Bitbucket Team, Repository, and Branch you want to deploy continuously.

    • Wählen Sie für Azure Repos die Azure DevOps-Organisation, das Projekt, das Repository und Branch aus, die Sie fortlaufend nutzen möchten.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously.

      Hinweis

      Wenn Ihre Azure DevOps-Organisation nicht aufgeführt ist, stellen Sie sicher, dass sie mit Ihrem Azure-Abonnement verknüpft ist.If your Azure DevOps organization isn't listed, make sure it's linked to your Azure subscription. Weitere Informationen finden Sie unter „Einrichten eines Azure DevOps-Dienstkontos zur Bereitstellung für eine Webanwendung“.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app..

  6. Wählen Sie Weiter.Select Continue.

    Geben Sie die Repository-Informationen ein und wählen Sie dann „Weiter“.

  7. Nachdem Sie den Buildanbieter konfiguriert haben, überprüfen Sie die Einstellungen auf der Seite „Zusammenfassung“ und wählen Sie dann „Fertig stellen“ .After you configure the build provider, review the settings on the Summary page, and then select Finish.

  8. Neue Commits im ausgewählten Repository und Branch werden nun fortlaufend in Ihrer App Service-App bereitgestellt.New commits in the selected repository and branch now deploy continuously into your App Service app. Auf der Seite „Bereitstellungscenter“ können Sie die Commits und Bereitstellen verfolgen.You can track the commits and deployments on the Deployment Center page.

    Verfolgung von Commits und Bereitstellen im Bereitstellungscenter

Option 2: Azure PipelinesOption 2: Azure Pipelines

Wenn Ihr Konto über die erforderlichen Berechtigungen verfügt, können Sie Azure Pipelines so einrichten, dass sie kontinuierlich aus GitHub oder Azure Repos bereitgestellt werden.If your account has the necessary permissions, you can set up Azure Pipelines to continuously deploy from GitHub or Azure Repos. Weitere Informationen zur Bereitstellung über Azure Pipelines finden Sie unter „Bereitstellen einer Webanwendung für Azure App Services“.For more information about deploying through Azure Pipelines, see Deploy a web app to Azure App Services.

VoraussetzungenPrerequisites

Damit Azure App Service Continuous Delivery mithilfe von Azure Pipelines einrichten kann, sollte Ihre Azure DevOps-Organisation folgende Berechtigungen besitzen:For Azure App Service to create continuous delivery using Azure Pipelines, your Azure DevOps organization should have the following permissions:

  • Ihr Azure-Konto muss über Berechtigungen zum Schreiben in Azure Active Directory und zum Erstellen eines Diensts verfügen.Your Azure account must have permissions to write to Azure Active Directory and create a service.

  • Ihr Azure-Konto muss in Ihrem Azure-Abonnement über die Rolle Besitzer verfügen.Your Azure account must have the Owner role in your Azure subscription.

  • Sie müssen ein Administrator in dem Azure DevOps-Projekt sein, das Sie verwenden möchten.You must be an administrator in the Azure DevOps project you want to use.

GitHub + Azure PipelinesGitHub + Azure Pipelines

  1. Suchen Sie im Azure-Portal nach App Services, und wählen Sie dann den App Service aus, den Sie bereitstellen möchten.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Wählen Sie auf der App-Seite im linken Menü „Bereitstellungscenter“ aus.On the app page, select Deployment Center in the left menu.

  3. Wählen Sie auf der Seite Bereitstellungscenter GitHub als Quellcodeverwaltungsanbieter aus, und wählen Sie Weiter aus.Select GitHub as the source control provider on the Deployment Center page and select Continue. Für GitHub können Sie Konto ändern auswählen, um das autorisierte Konto zu ändern.For GitHub, you can select Change Account to change the authorized account.

    Quellcodeverwaltung

  4. Wählen Sie auf der Seite Buildanbieter nacheinander Azure Pipelines (Vorschau) und dann Weiter aus.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    Buildanbieter

  5. Wählen Sie auf der Seite Konfigurieren im Abschnitt Code die Organisation, das Repository und den Branch aus, aus dem Continuous Deployment erfolgen soll, und wählen Sie Weiter aus.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Hinweis

    Wenn Sie keine Repositorys sehen, müssen Sie möglicherweise den Azure App Service in GitHub autorisieren.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navigieren Sie zu Ihrem GitHub-Repository und wählen Sie Einstellungen > Anwendungen > Autorisierte OAuth-Apps.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Wählen Sie Azure App Service und dann „Zuweisung“ .Select Azure App Service, and then select Grant. Bei Organisationsrepositorys müssen Sie Besitzer der Organisation sein, um die Berechtigungen erteilen zu können.For organization repositories, you must be an owner of the organization to grant the permissions.

    Geben Sie im Abschnitt Build die Azure DevOps-Organisation, das Projekt und das Sprachenframework an, die/das Azure Pipelines verwenden soll, um Buildaufgaben auszuführen, und wählen Sie dann Weiter aus.In the Build section, specify the Azure DevOps Organization, Project, language framework that Azure Pipelines should use to run build tasks, and then select Continue.

    Buildanbieter

  6. Nachdem Sie den Buildanbieter konfiguriert haben, überprüfen Sie die Einstellungen auf der Seite „Zusammenfassung“ und wählen Sie dann „Fertig stellen“ .After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Buildanbieter

  7. Neue Commits im ausgewählten Repository und Branch werden nun fortlaufend in Ihrem App Service bereitgestellt.New commits in the selected repository and branch now deploy continuously into your App Service. Auf der Seite „Bereitstellungscenter“ können Sie die Commits und Bereitstellen verfolgen.You can track the commits and deployments on the Deployment Center page.

    Verfolgung von Commits und Bereitstellen im Bereitstellungscenter

Azure Repos + Azure PipelinesAzure Repos + Azure Pipelines

  1. Suchen Sie im Azure-Portal nach App Services, und wählen Sie dann den App Service aus, den Sie bereitstellen möchten.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Wählen Sie auf der App-Seite im linken Menü „Bereitstellungscenter“ aus.On the app page, select Deployment Center in the left menu.

  3. Wählen Sie auf der Seite Bereitstellungscenter Azure Repos als Quellcodeverwaltungsanbieter aus, und wählen Sie Weiter aus.Select Azure Repos as the source control provider on the Deployment Center page and select Continue.

    Quellcodeverwaltung

  4. Wählen Sie auf der Seite Buildanbieter nacheinander Azure Pipelines (Vorschau) und dann Weiter aus.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    Quellcodeverwaltung

  5. Wählen Sie auf der Seite Konfigurieren im Abschnitt Code die Organisation, das Repository und den Branch aus, aus dem Continuous Deployment erfolgen soll, und wählen Sie Weiter aus.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Hinweis

    Wenn Ihre vorhandene Azure DevOps-Organisation nicht aufgeführt ist, müssen Sie sie möglicherweise mit Ihrem Azure-Abonnement verknüpfen.If your existing Azure DevOps organization isn't listed, you may need to link it to your Azure subscription. Weitere Informationen finden Sie unter Definieren Ihrer CD-Releasepipeline.For more information, see Define your CD release pipeline.

    Geben Sie im Abschnitt Build die Azure DevOps-Organisation, das Projekt und das Sprachenframework an, die/das Azure Pipelines verwenden soll, um Buildaufgaben auszuführen, und wählen Sie dann Weiter aus.In the Build section, specify the Azure DevOps Organization, Project, language framework that Azure Pipelines should use to run build tasks, and then select Continue.

    Buildanbieter

  6. Nachdem Sie den Buildanbieter konfiguriert haben, überprüfen Sie die Einstellungen auf der Seite „Zusammenfassung“ und wählen Sie dann „Fertig stellen“ .After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Buildanbieter

  7. Neue Commits im ausgewählten Repository und Branch werden nun fortlaufend in Ihrem App Service bereitgestellt.New commits in the selected repository and branch now deploy continuously into your App Service. Auf der Seite „Bereitstellungscenter“ können Sie die Commits und Bereitstellen verfolgen.You can track the commits and deployments on the Deployment Center page.

Deaktivieren der fortlaufenden BereitstellungDisable continuous deployment

Um Continuous Deployment zu deaktivieren, wählen Sie „Trennen“ oben auf der Seite „Bereitstellungscenter“ Ihrer Anwendung.To disable continuous deployment, select Disconnect at the top of your app's Deployment Center page.

Deaktivieren der fortlaufenden Bereitstellung

Was geschieht während der Bereitstellung mit meiner App?What happens to my app during deployment?

Alle offiziell unterstützten Bereitstellungsmethoden nehmen Änderungen an den Dateien im Ordner /home/site/wwwroot Ihrer App vor.All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app. Diese Dateien werden zum Ausführen Ihrer App verwendet.These files are used to run your app. Daher kann die Bereitstellung aufgrund von gesperrten Dateien fehlschlagen.Therefore, the deployment can fail because of locked files. Die App kann sich während der Bereitstellung unvorhersehbar verhalten, da nicht alle Dateien gleichzeitig aktualisiert werden.The app may also behave unpredictably during deployment, because not all the files updated at the same time. Dies ist für eine kundenorientierte App nicht erwünscht.This is undesirable for a customer-facing app. Es gibt mehrere Möglichkeiten, wie Sie diese Probleme umgehen können:There are a few different ways to avoid these issues:

Nicht unterstützte RepositorysUse unsupported repos

Für Windows-Apps können Sie Continuous Deployment aus einem Git- oder Mecurial-Cloudrepository, das das Portal nicht direkt unterstützt (beispielsweise GitLab), manuell konfigurieren.For Windows apps, you can manually configure continuous deployment from a cloud Git or Mercurial repository that the portal doesn't directly support, such as GitLab. Wählen Sie hierzu das Feld „Extern“ auf der Seite Bereitstellungscenter aus.You do it by choosing the External box in the Deployment Center page. Weitere Informationen finden Sie unter Einrichten von Continuous Deployment mit manuellen Schritten.For more information, see Set up continuous deployment using manual steps.

Zusätzliche RessourcenAdditional resources