Bereitstellen einer Azure-Web-App

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Hinweis

In Microsoft Team Foundation Server (TFS) 2018 und früheren Versionen werden Build- und Release-Pipelines als Definitionen bezeichnet, Ausführungen werden als Builds bezeichnet, Dienstverbindungen werden als Dienstendpunkte bezeichnet, Stages werden als Umgebungen bezeichnet und Aufträge werden als Phasen bezeichnet.

Verwenden Sie Azure-Pipelines, um Ihre Web-App automatisch bereitzustellen, um Azure App Service auf jedem erfolgreichen Build zu Azure App Service. Mit Azure Pipelines können Sie mithilfe von Azure DevOps mit Continuous Integration (CI) und Continuous Delivery (CD) Lösungen erstellen, testen und bereitstellen.

YAML-Pipelines werden mithilfe einer YAML-Datei in Ihrem Repository definiert. Ein Schritt ist der kleinste Baustein einer Pipeline und kann ein Skript oder ein Task (vorgefertigtes Skript) sein. Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten einer Pipeline.

Sie verwenden die Azure Web App-Aufgabe, um Azure App Service in Ihrer Pipeline bereitzustellen. Für komplexere Szenarien, z. B. die Verwendung von XML-Parametern in Ihrer Bereitstellung, können Sie die Azure App Service Bereitstellungsaufgabe verwenden.

Informationen zum Bereitstellen in einer Azure Web App für Linux-Container finden Sie unter Bereitstellen eines Azure Web App-Containers.

Voraussetzungen

Stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Ein GitHub-Konto, in dem Sie ein Repository erstellen können. Erstellen Sie ein kostenloses Konto.

  • Eine Azure DevOps-Organisation. Erstellen Sie ein kostenloses Konto. Wenn Ihr Team bereits über eine solche Organisation verfügt, stellen Sie sicher, dass Sie Administrator des Azure DevOps-Projekts sind, das Sie verwenden möchten.

  • Möglichkeit zum Ausführen von Pipelines auf von Microsoft gehosteten Agents. Sie können entweder einen Parallelauftrag erwerben oder einen Free-Tarif anfordern.

Erstellen eines Azure App Service im Azure-Portal

Erstellen Sie eine Azure App Service unter Linux oder Windows mit Azure Cloud Shell. Erste Schritte:

  1. Melden Sie sich beim Azure-Portal an.
  2. Starten Sie die Cloud Shell im oberen Navigationsbereich des Portals. Öffnen Sie Cloud Shell.

Weitere Informationen finden Sie in der Übersicht über Azure Cloud Shell.

Erstellen Sie eine Azure App Service unter Linux.

# Create a resource group
az group create --location eastus2 --name myapp-rg

# Create an app service plan of type Linux
az appservice plan create -g myapp-rg -n myapp-service-plan --is-linux

# Create an App Service from the plan 
az webapp create -g myapppipeline-rg -p myapp-service-plan -n my-app-dotnet --runtime "DOTNETCORE|3.1" 

Erstellen Ihrer App mit Azure-Pipelines

Erstellen eines .NET-Projekts

Wenn Sie nicht über ein .NET-Projekt verfügen, mit dem Sie arbeiten können, erstellen Sie ein neues Projekt, und laden Sie Ihren Code in Ihr GitHub-Repository oder Azure Repos hoch. Beginnen Sie mit der Installation des neuesten .NET 6.0 SDK.

Erstellen Sie eine neue .NET 6-Webapp.

dotnet new webapp -f net6.0

Führen Sie aus derselben Terminalsitzung die Anwendung lokal mithilfe des dotnet run Befehls aus Ihrem Projektverzeichnis aus.

dotnet run

Code hochladen

Laden Sie Ihren Code in neue Webapp GitHub oder Azure Repos hoch:

Erstellen Ihrer Pipeline

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie zu Ihrem Projekt.

  2. Wechseln Sie zu Pipelines, und wählen Sie dann "Neue Pipeline" aus.

  3. Führen Sie die Schritte des Assistenten aus. Wählen Sie zuerst GitHub als Speicherort Ihres Quellcodes aus.

  4. Möglicherweise werden Sie zu GitHub weitergeleitet, um sich anzumelden. Geben Sie in diesem Fall Ihre Anmeldeinformationen für GitHub ein.

  5. Wenn die Liste der Repositorys angezeigt wird, wählen Sie Ihr Repository aus.

  6. Sie werden möglicherweise zu GitHub weitergeleitet, um die Azure Pipelines-App zu installieren. Wählen Sie in diesem Fall Genehmigen und installieren aus.

  7. Wenn die Registerkarte "Konfigurieren" angezeigt wird, wählen Sie ASP.NET Core aus.

  8. Wenn Ihre neue Pipeline angezeigt wird, schauen Sie sich die YAML an, um zu sehen, was sie tut. Wenn Sie so weit sind, wählen Sie Speichern und ausführen aus.

Hinzufügen der Azure Web App-Aufgabe

  1. Verwenden Sie den Aufgaben-Assistenten, um die Azure Web App-Aufgabe hinzuzufügen.

    Azure Web App-Aufgabe.

  2. Wählen Sie Azure Resource Manager für den Verbindungstyp aus, und wählen Sie Ihr Azure-Abonnement aus. Stellen Sie sicher, dass Sie Ihre Verbindung autorisieren .

  3. Wählen Sie Web App unter Linux aus, und geben Sie Ihre azureSubscription, appNameund package. Ihr vollständiges YAML sollte wie folgt aussehen.

    variables:
      buildConfiguration: 'Release'
    
    steps:
    - script: dotnet build --configuration $(buildConfiguration)
      displayName: 'dotnet build $(buildConfiguration)'
    - task: DotNetCoreCLI@2
      inputs:
        command: 'publish'
        publishWebProjects: true
    - task: AzureWebApp@1
      inputs:
        azureSubscription: '<Azure service connection>'
        appType: 'webAppLinux'
        appName: '<Name of web app>'
        package: '$(System.DefaultWorkingDirectory)/**/*.zip'
    
    • azureSubscription: Ihr Azure-Abonnement.
    • appName: der Name Ihres vorhandenen APP Service.
    • package: der Dateipfad zum Paket oder einem Ordner mit Ihrem App-Service-Inhalt. Platzhalter werden unterstützt.

Wir beraten noch nicht, dass neue Benutzer YAML-Pipelines verwenden, um von Azure DevOps Server 2019 bereitzustellen. Wenn Sie ein erfahrener Pipelinebenutzer sind und bereits über eine YAML-Pipeline verfügen, um Ihre .NET Core-App zu erstellen, finden Sie möglicherweise die folgenden Beispiele.

YAML wird in TFS nicht unterstützt.

Jetzt sind Sie bereit, den Rest dieses Themas zu lesen, um einige der gängigeren Änderungen zu erfahren, die Personen vornehmen, um eine Azure Web App-Bereitstellung anzupassen.

Verwenden der Azure Web App-Aufgabe

Die einfachste Möglichkeit zum Bereitstellen in einer Azure Web App besteht darin, die Azure Web App (AzureWebApp) -Aufgabe zu verwenden.

Bereitstellen eines Web Deploy-Pakets (ASP.NET)

Fügen Sie zum Bereitstellen eines .zip Web Deploy-Pakets (z. B. von einer ASP.NET Web App) zu einer Azure Web App den folgenden Codeausschnitt zu Ihrer Azure-Pipelines.yml-Datei hinzu:

- task: AzureWebApp@1
  inputs:
    azureSubscription: '<Azure service connection>'
    appName: '<Name of web app>'
    package: $(System.DefaultWorkingDirectory)/**/*.zip    
  • azureSubscription: Ihr Azure-Abonnement.
  • appName: der Name Ihres vorhandenen APP Service.
  • package: der Dateipfad zum Paket oder einem Ordner mit Ihrem App-Service-Inhalt. Platzhalter werden unterstützt.

Im Codeausschnitt wird davon ausgegangen, dass die Buildschritte in Ihrer YAML-Datei das ZIP-Archiv im $(System.DefaultWorkingDirectory)-Ordner auf Ihrem Agent erzeugen.

Informationen zu Azure-Dienstverbindungen finden Sie im folgenden Abschnitt.

Bereitstellen einer .NET-App

Wenn Sie eine .NET Core-App erstellen, verwenden Sie den folgenden Snipped, um den Build in einer App bereitzustellen.

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true
- task: AzureWebApp@1
  inputs:
    azureSubscription: '<Azure service connection>'
    appType: 'webAppLinux'
    appName: '<Name of web app>'
    package: '$(System.DefaultWorkingDirectory)/**/*.zip'
  • azureSubscription: Ihr Azure-Abonnement.
  • appType: Ihr Web-App-Typ.
  • appName: der Name Ihres vorhandenen APP Service.
  • package: der Dateipfad zum Paket oder einem Ordner mit Ihrem App-Service-Inhalt. Platzhalter werden unterstützt.

Bereitstellen einer JavaScript-Node.js-App

Wenn Sie eine JavaScript-Node.js-App erstellen, veröffentlichen Sie den gesamten Inhalt Ihres Arbeitsverzeichnisses in der Web-App. Dieser Codeausschnitt generiert auch eine Web.config Datei während der Bereitstellung, wenn die Anwendung keinen hat und den iisnode-Handler in der Azure Web App startet:

- task: AzureWebApp@1
  inputs:
    azureSubscription: '<Azure service connections>'
    appName: '<Name of web app>'
    package: '$(System.DefaultWorkingDirectory)'
    customWebConfig: '-Handler iisnode -NodeStartFile server.js -appType node'
  • azureSubscription: Ihr Azure-Abonnement.
  • appName: der Name Ihres vorhandenen APP Service.
  • package: der Dateipfad zum Paket oder einem Ordner mit Ihrem App-Service-Inhalt. Platzhalter werden unterstützt.
  • customWebConfig: Generieren sie web.config Parameter für Python, Node.js, Go und Java-Apps. Eine Standarddatei web.config wird generiert und für Azure App Service bereitgestellt, wenn die Anwendung nicht über eine datei verfügt.

Informationen zu Azure-Dienstverbindungen finden Sie im folgenden Abschnitt.

YAML wird in TFS nicht unterstützt.

Verwenden einer Dienstverbindung

Um Azure App Service bereitzustellen, müssen Sie eine Azure-Resource Manager-Dienstverbindung verwenden. Die Azure-Dienstverbindung speichert die Anmeldeinformationen, um eine Verbindung von Azure-Pipelines oder Azure DevOps Server mit Azure herzustellen.

Erfahren Sie mehr über Azure Resource Manager-Dienstverbindungen. Wenn Ihre Dienstverbindung nicht wie erwartet funktioniert, lesen Sie die Problembehandlung bei Dienstverbindungen.

Sie benötigen eine Azure-Dienstverbindung für die AzureWebApp Aufgabe. Die Azure-Dienstverbindung speichert die Anmeldeinformationen, um eine Verbindung von Azure-Pipelines mit Azure herzustellen. Siehe Erstellen einer Azure-Dienstverbindung.

YAML wird in TFS nicht unterstützt.

Bereitstellen in einer virtuellen Anwendung

Standardmäßig erfolgt Ihre Bereitstellung mit der Stammanwendung in der Azure Web App. Sie können mithilfe der VirtualApplication Eigenschaft der AzureRmWebAppDeployment Aufgabe für eine bestimmte virtuelle Anwendung bereitstellen:

- task: AzureRmWebAppDeployment@4
  inputs:
    VirtualApplication: '<name of virtual application>'

YAML-Pis werden in TFS nicht unterstützt.

Bereitstellen in einem Slot

Sie können die Azure Web App so konfigurieren, dass mehrere Steckplätze vorhanden sind. Mit Slots können Sie Ihre App sicher bereitstellen und testen, bevor Sie sie Ihren Kunden zur Verfügung stellen.

Das folgende Beispiel zeigt, wie Sie einen Stagingplatz bereitstellen und dann auf einen Produktionsplatz wechseln:

- task: AzureWebApp@1
  inputs:
    azureSubscription: '<Azure service connection>'
    appType: webAppLinux
    appName: '<name of web app>'
    deployToSlotOrASE: true
    resourceGroupName: '<name of resource group>'
    slotName: staging

- task: AzureAppServiceManage@0
  inputs:
    azureSubscription: '<Azure service connection>'
    appType: webAppLinux
    WebAppName: '<name of web app>'
    ResourceGroupName: '<name of resource group>'
    SourceSlot: staging
    SwapWithProduction: true
  • azureSubscription: Ihr Azure-Abonnement.
  • appType: (optional) Verwenden Sie webAppLinux zum Bereitstellen in einer Web App unter Linux.
  • appName: der Name Ihres vorhandenen APP Service.
  • deployToSlotOrASE: Boolean. Stellen Sie einen vorhandenen Bereitstellungsplatz oder eine Azure App Service Umgebung bereit.
  • resourceGroupName: Name der Ressourcengruppe. Erforderlich, wenn deployToSlotOrASE "true" ist.
  • slotName: Name des Steckplatzes, Standardeinstellung für production. Erforderlich, wenn deployToSlotOrASE "true" ist.
  • SourceSlot: Slot, der an die Produktion gesendet wird, wenn SwapWithProduction wahr ist.
  • SwapWithProduction: Boolean. Tauschen Sie den Datenverkehr des Quellplatzes mit der Produktion aus.

YAML wird in TFS nicht unterstützt.

Bereitstellen in mehreren Web-Apps

Sie können Aufträge in Ihrer YAML-Datei verwenden, um eine Pipeline von Bereitstellungen einzurichten. Mithilfe von Aufträgen können Sie die Reihenfolge der Bereitstellung auf mehrere Web-Apps steuern.

jobs:
- job: buildandtest
  pool:
    vmImage: ubuntu-latest

  steps:
  # publish an artifact called drop
  - task: PublishPipelineArtifact@1
    inputs:
      targetPath: '$(Build.ArtifactStagingDirectory)' 
      artifactName: drop

  # deploy to Azure Web App staging
  - task: AzureWebApp@1
    inputs:
      azureSubscription: '<Azure service connection>'
      appType: <app type>
      appName: '<name of test stage web app>'
      deployToSlotOrASE: true
      resourceGroupName: <resource group name>
      slotName: 'staging'
      package: '$(Build.ArtifactStagingDirectory)/**/*.zip'

- job: deploy
  dependsOn: buildandtest
  condition: succeeded()

  pool: 
    vmImage: ubuntu-latest  

  steps:
    # download the artifact drop from the previous job
  - task: DownloadPipelineArtifact@2
    inputs:
      source: 'current'
      artifact: 'drop'
      path: '$(Pipeline.Workspace)'

  - task: AzureWebApp@1
    inputs:
      azureSubscription: '<Azure service connection>'
      appType: <app type>
      appName: '<name of test stage web app>'
      resourceGroupName: <resource group name>
      package: '$(Pipeline.Workspace)/**/*.zip'

YAML wird in TFS nicht unterstützt.

Konfigurationsänderungen

Für die meisten Sprachstapel können App-Einstellungen und Verbindungszeichenfolgen zur Laufzeit als Umgebungsvariablen festgelegt werden. App-Einstellungen können auch über Key Vault mithilfe von Key Vault-Referenzen aufgelöst werden.

Für ASP.NET und ASP.NET Core Entwickler sind das Festlegen von App-Einstellungen in App Service wie das Festlegen in <appSettings> Web.config. Möglicherweise möchten Sie eine bestimmte Konfiguration für Ihr Web-App-Ziel anwenden, bevor Sie sie bereitstellen. Dies ist nützlich, wenn Sie denselben Build für mehrere Web-Apps in einer Pipeline bereitstellen. Wenn Ihre Web.config-Datei beispielsweise eine Verbindungszeichenfolge namens connectionStringenthält, können Sie den Wert ändern, bevor Sie jede Web-App bereitstellen. Dazu können Sie entweder eine Web.config Transformation anwenden oder Variablen in Ihrer Web.config Datei substituieren.

Azure App Service Bereitstellungsaufgabe ermöglicht Benutzern das Ändern von Konfigurationseinstellungen in Konfigurationsdateien (*.config Dateien) in Webpaketen und XML-Parameterdateien (parameters.xml), basierend auf dem angegebenen Stufennamen.

Hinweis

Dateitransformationen und Variablenersetzung werden auch von der separaten Dateitransformationsaufgabe für die Verwendung in Azure Pipelines unterstützt. Sie können die Dateitransformationsaufgabe verwenden, um Dateitransformationen und Variablenersetzungen auf alle Konfigurations- und Parameterdateien anzuwenden.

Der folgende Codeausschnitt zeigt ein Beispiel für die Variablenersetzung:

jobs:
- job: test
  variables:
    connectionString: <test-stage connection string>
  steps:
  - task: AzureRmWebAppDeployment@4
    inputs:
      azureSubscription: '<Test stage Azure service connection>'
      WebAppName: '<name of test stage web app>'
      enableXmlVariableSubstitution: true

- job: prod
  dependsOn: test
  variables:
    connectionString: <prod-stage connection string>
  steps:
  - task: AzureRmWebAppDeployment@4
    inputs:
      azureSubscription: '<Prod stage Azure service connection>'
      WebAppName: '<name of prod stage web app>'
      enableXmlVariableSubstitution: true

YAML-Piis werden in TFS nicht unterstützt.

Bereitstellen bedingter Bereitstellung

Sie können auswählen, dass nur bestimmte Builds für Ihre Azure Web App bereitgestellt werden.

Dazu können Sie in YAML eine der folgenden Techniken verwenden:

  • Isolieren Sie die Bereitstellungsschritte in einen separaten Auftrag, und fügen Sie diesem Auftrag eine Bedingung hinzu.
  • Fügen Sie dem Schritt eine Bedingung hinzu.

Das folgende Beispiel zeigt, wie Sie Schrittbedingungen verwenden, um nur Builds bereitzustellen, die aus der Hauptzweigung stammen:

- task: AzureWebApp@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
  inputs:
    azureSubscription: '<Azure service connection>'
    appName: '<name of web app>'

Weitere Informationen zu Bedingungen finden Sie unter Angeben von Bedingungen.

YAML wird in TFS nicht unterstützt.

(Klassisch) Bereitstellen mit einer Releasepipeline

Sie können eine Releasepipeline verwenden, um die von Ihrem Build veröffentlichten Artefakte aufzunehmen und diese dann auf Ihrer Azure-Website bereitzustellen.

  1. Führen Sie eine der folgenden Schritte aus, um mit dem Erstellen einer Releasepipeline zu beginnen:

    • Wenn Sie gerade einen CI-Build abgeschlossen haben, wählen Sie den Link (z. B. Build 20170815.1) aus, um die Buildzusammenfassung zu öffnen. Wählen Sie dann "Release" aus, um eine neue Releasepipeline zu starten, die automatisch mit der Buildpipeline verknüpft ist.

    • Öffnen Sie die Registerkarte "Versionen " in Azure Pipelines, öffnen Sie die + Dropdownliste in der Liste der Releasepipelinen, und wählen Sie " Releasepipeline erstellen" aus.

  2. Die einfachste Möglichkeit zum Erstellen einer Releasepipeline besteht darin, eine Vorlage zu verwenden. Wenn Sie eine Node.js-App bereitstellen, wählen Sie die Vorlage "Bereitstellen Node.js App für Azure App Service". Wählen Sie andernfalls die Azure App Service Bereitstellungsvorlage aus. Wählen Sie dann "Übernehmen" aus.

    Hinweis

    Der einzige Unterschied zwischen diesen Vorlagen besteht darin, dass Node.js Vorlage die Aufgabe so konfiguriert, dass eine web.config Datei mit einem Parameter generiert wird, der den Iisnode-Dienst startet.

  3. Wenn Sie Ihre neue Releasepipeline aus einer Buildzusammenfassung erstellt haben, überprüfen Sie, ob die Buildpipeline und das Artefakte im Abschnitt "Artefakte " auf der Registerkarte "Pipeline " angezeigt werden. Wenn Sie eine neue Releasepipeline auf der Registerkarte "Versionen " erstellt haben, wählen Sie den Link " + Hinzufügen " aus, und wählen Sie ihr Buildartefakt aus.

  4. Wählen Sie im Abschnitt "Artefakte" das Symbol "Fortlaufende Bereitstellung" aus, überprüfen Sie, ob der Trigger für die kontinuierliche Bereitstellung aktiviert ist, und fügen Sie einen Filter hinzu, um den Hauptzweig einzuschließen.

    Hinweis

    Die kontinuierliche Bereitstellung ist standardmäßig nicht aktiviert, wenn Sie eine neue Releasepipeline auf der Registerkarte "Versionen " erstellen.

  5. Öffnen Sie die Registerkarte "Aufgaben ", und konfigurieren Sie mit ausgewählter Phase 1 die Vorgangseigenschaftsvariablen wie folgt:

    • Azure-Abonnement: Wählen Sie eine Verbindung aus der Liste unter "Verfügbare Azure Service Connections " aus, oder erstellen Sie eine eingeschränktere Berechtigungsverbindung mit Ihrem Azure-Abonnement. Wenn Sie Azure-Pipelines verwenden und neben der Eingabe eine Schaltfläche "Autorisieren " angezeigt wird, klicken Sie darauf, um Azure Pipelines zum Herstellen einer Verbindung mit Ihrem Azure-Abonnement zu autorisieren. Wenn Sie TFS verwenden oder das gewünschte Azure-Abonnement nicht in der Liste der Abonnements sehen, lesen Sie Azure Resource Manager Dienstverbindung, um die Verbindung manuell einzurichten.

    • App Service Name: Wählen Sie den Namen der Web-App aus Ihrem Abonnement aus.

    Hinweis

    Einige Einstellungen für die Aufgaben wurden möglicherweise automatisch als Phasenvariablen definiert, wenn Sie eine Releasepipeline aus einer Vorlage erstellt haben. Diese Einstellungen können in den Aufgabeneinstellungen nicht geändert werden; Stattdessen müssen Sie das übergeordnete Phasenelement auswählen, um diese Einstellungen zu bearbeiten.

  6. Speichern Sie die Releasepipeline.

Erstellen eines Release zum Bereitstellen Ihrer App

Sie sind jetzt bereit, eine Version zu erstellen, was bedeutet, dass die Releasepipeline mit den Artefakten ausgeführt wird, die von einem bestimmten Build erstellt wurden. Das Ergebnis ist die Bereitstellung des Builds:

  1. Wählen Sie + Release und dann Release erstellen aus.

  2. Überprüfen Sie im Bereich Neues Release erstellen, ob die von Ihnen gewünschte Artefaktversion ausgewählt ist, und wählen Sie dann Erstellen aus.

  3. Klicken Sie in der Meldung in der Informationsleiste auf den Releaselink. Beispiel: „Release Release-1 wurde erstellt.“

  4. Wählen Sie in der Pipelineansicht den Statuslink in den Phasen der Pipeline aus, um die Protokolle und die Agentausgabe anzuzeigen.

  5. Navigieren Sie nach Abschluss der Version mithilfe der Web App-URL http://{web_app_name}.azurewebsites.netzu Ihrer Website, die in Azure ausgeführt wird, und überprüfen Sie den Inhalt.

Bereitstellen in einer Azure Government Cloud oder in Azure Stack

Erstellen einer geeigneten Dienstverbindung:

Bereitstellungsmechanismen

Die vorherigen Beispiele basieren auf der integrierten Azure Web App-Aufgabe, die eine vereinfachte Integration in Azure bietet.

Wenn Sie einen Windows-Agent verwenden, verwendet diese Aufgabe Web Deploy-Technologie, um mit der Azure Web App zu interagieren. Web Deploy bietet mehrere bequeme Bereitstellungsoptionen, z. B. das Umbenennen gesperrter Dateien und das Ausschließen von Dateien aus dem ordner App_Data während der Bereitstellung.

Wenn Sie den Linux-Agent verwenden, basiert die Aufgabe auf den Kudu REST-APIs.

Eine Sache, die vor der Bereitstellung überprüft werden sollte, ist die Liste der zugriffseinschränkenden Azure App Service. Diese Liste kann IP-Adressen oder Azure Virtual Network Subnetze enthalten. Wenn mindestens ein Eintrag vorhanden ist, enthält die Liste am Ende einen impliziten Eintrag vom Typ „Alle ablehnen“. Informationen zum Ändern der Zugriffseinschränkungsregeln für Ihre App finden Sie unter Hinzufügen und Bearbeiten von Zugriffseinschränkungsregeln in Azure-Portal. Sie können auch den Zugriff auf Ihre Website für die Quellcodeverwaltung (scm) ändern/einschränken.

Die aufgabe Azure App Service Verwalten ist eine andere Aufgabe, die für die Bereitstellung nützlich ist. Sie können diese Aufgabe verwenden, um die Web-App vor oder nach der Bereitstellung zu starten, zu beenden oder neu zu starten. Sie können diese Aufgabe auch verwenden, um Steckplätze zu tauschen, Websiteerweiterungen zu installieren oder die Überwachung der Web-App zu aktivieren.

Sie können die Dateitransformationsaufgabe verwenden, um Dateitransformationen und Variablenersetzungen auf alle Konfigurations- und Parameterdateien anzuwenden.

Wenn die integrierten Aufgaben Ihre Anforderungen nicht erfüllen, können Sie andere Methoden verwenden, um Ihre Bereitstellung zu skripten. Zeigen Sie die YAML-Codeausschnitte in den folgenden Aufgaben für einige Beispiele an: