Freigeben über


Bereitstellen einer Web-App in einer Pipeline und Konfigurieren der App Service-Authentifizierung

In diesem Artikel wird beschrieben, wie Sie eine Pipeline in Azure-Pipelines einrichten, um eine Web-App in Azure zu erstellen und bereitzustellen und die integrierte Azure App Service-Authentifizierung zu aktivieren.

Hier erfahren Sie, wie Sie:

  • Konfigurieren von Azure-Ressourcen mithilfe von Skripts in Azure Pipelines
  • Erstellen einer Webanwendung und Bereitstellen in App Service mithilfe von Azure Pipelines
  • Erstellen einer Microsoft Entra App-Registrierung in Azure Pipelines
  • Konfigurieren Sie die App Service-integrierte Authentifizierung in Azure Pipelines.

Voraussetzungen

Erstellen einer ASP.NET Core-Beispiel-Web-App

Erstellen Sie eine Beispiel-App, und pushen Sie sie an Ihr GitHub-Repository.

Erstellen und Klonen eines Repositorys in GitHub

Erstellen Sie ein neues Repository in GitHub, geben Sie einen Namen wie "PipelinesTest" an. Legen Sie sie auf "Privat" fest, und fügen Sie eine GITIGNORE-Datei mit .gitignore template: VisualStudio.

Öffnen Sie ein Terminalfenster, und ändern Sie das aktuelle Arbeitsverzeichnis in den Speicherort, an dem sich das geklonte Verzeichnis befinden soll:

cd c:\temp\

Geben Sie den folgenden Befehl ein, um das Repository zu klonen:

git clone https://github.com/YOUR-USERNAME/PipelinesTest
cd PipelinesTest

Erstellen einer ASP.NET Core Web App

  1. Öffnen Sie auf Ihrem Computer in einem Arbeitsverzeichnis ein Terminalfenster. Erstellen Sie eine neue ASP.NET Core Web App mit dem Befehl "dotnet new webapp ", und ändern Sie dann Verzeichnisse in die neu erstellte App.

    dotnet new webapp -n PipelinesTest --framework net7.0
    cd PipelinesTest
    dotnet new sln
    dotnet sln add .
    
  2. Führen Sie die Anwendung aus derselben Terminalsitzung mithilfe des Befehls dotnet run lokal aus.

    dotnet run --urls=https://localhost:5001/
    
  3. Um zu überprüfen, ob die Web-App ausgeführt wird, öffnen Sie einen Webbrowser, und navigieren Sie zu der App unter https://localhost:5001.

Auf der Seite wird die ASP.NET Core-Web-App-Vorlage angezeigt.

Screenshot, der zeigt, wie Web-App lokal ausgeführt wird.

Geben Sie STRG-C an der Befehlszeile ein, um die Ausführung der Web-App zu beenden.

Pushen des Beispiels an GitHub

Committen Sie Ihre Änderungen, und pushen Sie sie an GitHub:

git add .
git commit -m "Initial check-in"
git push origin main

Einrichten der Azure DevOps-Umgebung

Melden Sie sich bei Ihrer Azure DevOps-Organisation (https://dev.azure.com/{yourorganization}) an.

Erstellen eines neuen Projekts:

  1. Wählen Sie "Neues Projekt" aus.
  2. Geben Sie einen Projektnamen ein, z. B. "PipelinesTest".
  3. Wählen Sie die Sichtbarkeit „Private“ aus.
  4. Wählen Sie "Erstellen" aus.

Erstellen einer neuen Pipeline

Fügen Sie eine Pipeline hinzu, nachdem das Projekt erstellt wurde:

  1. Wählen Sie im linken Navigationsbereich Pipelines-Pipelines> und dann "Pipeline erstellen" aus.
  2. Wählen Sie GitHub YAML aus.
  3. Wählen Sie auf der Registerkarte "Verbinden " gitHub YAML aus. Geben Sie Ihre GitHub-Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden.
  4. Wenn die Liste der Repositorys angezeigt wird, wählen Sie Ihr PipelinesTest-Repository aus.
  5. Sie werden möglicherweise zu GitHub weitergeleitet, um die Azure Pipelines-App zu installieren. Wenn ja, wählen Sie "Genehmigen" und "Installieren" aus.
  6. Wählen Sie in "Pipeline konfigurieren" die Startpipeline aus.
  7. Eine neue Pipeline mit einer grundlegenden Konfiguration wird angezeigt. Die Standardkonfiguration verwendet einen von Microsoft gehosteten Agent.
  8. Wenn Sie fertig sind, wählen Sie "Speichern" und "Ausführen" aus. Um Ihre Änderungen an GitHub zu committen und die Pipeline zu starten, wählen Sie Direkten Commit zum Branch „Main“ ausführen und dann ein zweites Mal Speichern und ausführen aus. Wenn Sie mit einer Nachricht wie Diese Pipeline benötigt eine Berechtigung, um auf eine Ressource zuzugreifen, bevor dieser Vorgang fortgesetzt werden kann zur Erteilung einer Berechtigung aufgefordert werden, wählen Sie Anzeigen und folgen Sie den Anweisungen, um den Zugriff zu erlauben.

Hinzufügen einer Buildphase und Buildtasks zu Ihrer Pipeline

Nachdem Sie nun über eine funktionierende Pipeline verfügen, können Sie eine Buildphase und Buildtasks hinzufügen, um die Web-App zu erstellen.

Aktualisieren Sie azure-pipelines.yml , und ersetzen Sie die grundlegende Pipelinekonfiguration durch Folgendes:

trigger:
- main

stages:
- stage: Build
  jobs: 
  - job: Build

    pool:
      vmImage: 'windows-latest'

    variables:
      solution: '**/*.sln'
      buildPlatform: 'Any CPU'      
      buildConfiguration: 'Release'      

    steps:
    - task: NuGetToolInstaller@1

    - task: NuGetCommand@2
      inputs:
        restoreSolution: '$(solution)'

    - task: VSBuild@1
      inputs:
        solution: '$(solution)'
        msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'
        
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'

Speichern Sie Ihre Änderungen, und führen Sie die Pipeline aus.

Eine Build-Phase wird definiert, um die Web-App zu erstellen. Im Abschnitt steps werden verschiedene Aufgaben zum Erstellen der Web-App und zum Veröffentlichen von Artefakten in der Pipeline angezeigt.

Erstellen einer Dienstverbindung

Fügen Sie eine Dienstverbindung hinzu, damit Ihre Pipeline Ressourcen mit Azure verbinden und bereitstellen kann:

  1. Wählen Sie "Projekteinstellungen" aus.
  2. Wählen Sie im linken Navigationsbereich "Dienstverbindungen " und dann " Dienstverbindung erstellen" aus.
  3. Wählen Sie Azure Resource Manager und dann Weiter.
  4. Wählen Sie "Dienstprinzipal" (automatisch) und dann "Weiter" aus.
  5. Wählen Sie "Abonnement für Bereichsebene " und dann Ihr Azure-Abonnement aus. Geben Sie einen Dienstverbindungsnamen wie "PipelinesTestServiceConnection" ein, und wählen Sie "Weiter" aus. Der Dienstverbindungsname wird in den folgenden Schritten verwendet.

Außerdem wird in Ihrem Microsoft Entra-Mandanten eine Anwendung erstellt, die eine Identität für die Pipeline bereitstellt. In späteren Schritten benötigen Sie den Anzeigenamen der App-Registrierung. So finden Sie den Anzeigenamen:

  1. Melden Sie sich mindestens als Anwendungsentwickler beim Microsoft Entra Admin Center an.
  2. Navigieren Sie zu Entra ID>App-Registrierungen>Alle Anwendungen.
  3. Suchen Sie den Anzeigenamen der App-Registrierung im Format {organization}-{project}-{guid}.

Erteilen Sie der Dienstverbindung die Berechtigung für den Zugriff auf die Pipeline:

  1. Wählen Sie im linken Navigationsbereich Project-Einstellungen und dann Dienstverbindungen aus.
  2. Wählen Sie die PipelinesTestServiceConnection-Dienstverbindung, dann das Menü und anschließend Sicherheit aus dem Dropdownmenü aus.
  3. Wählen Sie im Abschnitt "Pipelineberechtigungen " die Option " Pipeline hinzufügen " und dann die PipelinesTest-Dienstverbindung aus der Liste aus.

Hinzufügen einer Variablengruppe

Die DeployAzureResources-Phase, die Sie im nächsten Abschnitt erstellen, verwendet mehrere Werte zum Erstellen und Bereitstellen von Ressourcen in Azure:

  • Die Microsoft Entra-Mandanten-ID (finden Sie im Microsoft Entra Admin Center).
  • Die Region oder der Standort, in der bzw. an dem die Ressourcen bereitgestellt werden.
  • Ein Ressourcengruppenname.
  • Der Name des App Service-Dienstplans.
  • Der Name der Web-App.
  • Der Name der Dienstverbindung, die zum Herstellen einer Verbindung zwischen der Pipeline und Azure verwendet wird. In der Pipeline wird dieser Wert für das Azure-Abonnement verwendet.

Erstellen Sie eine Variablegruppe , und fügen Sie Werte hinzu, die als Variablen in der Pipeline verwendet werden sollen.

Wählen Sie " Bibliothek" im linken Navigationsbereich aus, und erstellen Sie eine neue Variable-Gruppe. Geben Sie ihr den Namen „AzureResourcesVariableGroup“.

Fügen Sie die folgenden Variablen und Werte hinzu:

Variablenname Beispielwert
LAGERPLATZ centralus
TENANTID {tenant-id}
Ressourcengruppenname Pipeline-Testgruppe
SVCPLANNAME Pipeline-Testplan
WEBAPPNAMETEST Pipeline-Test-Webanwendung
Azure-Abonnement PipelinesTestServiceConnection

Wählen Sie "Speichern" aus.

Erteilen Sie der Pipeline Berechtigungen für den Zugriff auf die Variablengruppe. Wählen Sie auf der Variablengruppenseite Pipelineberechtigungen aus, fügen Sie Ihre Pipeline hinzu, und schließen Sie dann das Fenster.

Aktualisieren Sie die Datei azure-pipelines.yml, und fügen Sie die Variablen Gruppe der Pipeline hinzu.

variables: 
- group: AzureResourcesVariableGroup
   
trigger:
- main

stages:
- stage: Build
  jobs: 
  - job: Build

    pool:
      vmImage: 'windows-latest'
  

Speichern Sie Ihre Änderungen, und führen Sie die Pipeline aus.

Bereitstellen von Azure-Ressourcen

Fügen Sie als Nächstes der Pipeline eine Phase hinzu, die Azure-Ressourcen bereitstellt. Die Pipeline verwendet ein Inlineskript zum Erstellen der App Service-Instanz. In einem späteren Schritt erstellt das Inlineskript eine Microsoft Entra-App-Registrierung für die App Service-Authentifizierung. Es wird ein Azure CLI-Bashskript verwendet, weil keine App-Registrierung von Azure Resource Manager (und Azure-Pipelineaufgaben) erstellt werden kann.

Das Inlineskript wird im Kontext der Pipeline ausgeführt, weisen Sie der App die Rolle "Application.Administrator " zu, damit das Skript App-Registrierungen erstellen kann:

  1. Melden Sie sich beim Microsoft Entra Admin Center an.
  2. Navigieren Sie zu Entra IDRollen & Administratoren.
  3. Wählen Sie "Anwendungsadministrator " aus der Liste der integrierten Rollen und dann "Zuweisung hinzufügen" aus.
  4. Suchen Sie nach der Pipeline-App-Registrierung anhand des Anzeigenamens.
  5. Wählen Sie die App-Registrierung aus der Liste und dann "Hinzufügen" aus.

Aktualisieren Sie azure-pipelines.yml , um das Inlineskript hinzuzufügen, das eine Ressourcengruppe in Azure erstellt, einen App Service-Plan erstellt und eine App Service-Instanz erstellt.

variables: 
- group: AzureResourcesVariableGroup
   
trigger:
- main

stages:
- stage: Build
  jobs: 
  - job: Build

    pool:
      vmImage: 'windows-latest'

    variables:
      solution: '**/*.sln'
      buildPlatform: 'Any CPU'
      buildConfiguration: 'Release'      

    steps:
    - task: NuGetToolInstaller@1

    - task: NuGetCommand@2
      inputs:
        restoreSolution: '$(solution)'

    - task: VSBuild@1
      inputs:
        solution: '$(solution)'
        msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'
        
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'  
    
- stage: DeployAzureResources
  displayName: 'Deploy resources to Azure'
  dependsOn: Build
  condition: |
    succeeded()    
  jobs: 
  - job: DeployAzureResources
    pool: 
      vmImage: 'windows-latest'
    steps:
      - task: AzureCLI@2
        inputs:
          azureSubscription: $(AZURESUBSCRIPTION)
          scriptType: 'bash'
          scriptLocation: 'inlineScript'
          inlineScript: |
            # Create a resource group
            az group create --location $LOCATION --name $RESOURCEGROUPNAME
            echo "Created resource group $RESOURCEGROUPNAME"    

            # Create App Service plan
            az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
            echo "Created App Service plan $SVCPLANNAME"
            
            ### Create Test resources
            # create and configure an Azure App Service web app
            az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"
                        
        name: DeploymentScript

Speichern Sie Ihre Änderungen, und führen Sie die Pipeline aus. Navigieren Sie im Azure-Portal zu Ressourcengruppen , und überprüfen Sie, ob eine neue Ressourcengruppe und App Service-Instanz erstellt werden.

Bereitstellen der Web-App in App Service

Jetzt, da Ihre Pipeline Ressourcen in Azure erstellt, können Sie eine Bereitstellungsphase zum Bereitstellen der Web-App in App Service hinzufügen.

Aktualisieren Sie azure-pipelines.yml, um die Bereitstellungsphase hinzuzufügen.

variables: 
- group: AzureResourcesVariableGroup
   
trigger:
- main

stages:
- stage: Build
  jobs: 
  - job: Build

    pool:
      vmImage: 'windows-latest'

    variables:
      solution: '**/*.sln'
      buildPlatform: 'Any CPU'
      buildConfiguration: 'Release'      

    steps:
    - task: NuGetToolInstaller@1

    - task: NuGetCommand@2
      inputs:
        restoreSolution: '$(solution)'

    - task: VSBuild@1
      inputs:
        solution: '$(solution)'
        msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'
        
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'  
    
- stage: DeployAzureResources
  displayName: 'Deploy resources to Azure'
  dependsOn: Build
  condition: |
    succeeded()    
  jobs: 
  - job: DeployAzureResources
    pool: 
      vmImage: 'windows-latest'
    steps:
      - task: AzureCLI@2
        inputs:
          azureSubscription: $(AZURESUBSCRIPTION)
          scriptType: 'bash'
          scriptLocation: 'inlineScript'
          inlineScript: |
            # Create a resource group
            az group create --location $LOCATION --name $RESOURCEGROUPNAME
            echo "Created resource group $RESOURCEGROUPNAME"    

            # Create App Service plan
            az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
            echo "Created App Service plan $SVCPLANNAME"
            
            ### Create Test resources
            # create and configure an Azure App Service web app
            az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"
            
        name: DeploymentScript

- stage: DeployWebApp
  displayName: 'Deploy the web app'
  dependsOn: DeployAzureResources
  condition: |
    succeeded()    
  
  jobs: 
  - job: DeployWebApp
    displayName: 'Deploy Web App'
    pool: 
      vmImage: 'windows-latest'
    
    steps:
      
    - task: DownloadBuildArtifacts@0
      inputs:
        buildType: 'current'
        downloadType: 'single'
        artifactName: 'drop'
        downloadPath: '$(System.DefaultWorkingDirectory)'
    - task: AzureRmWebAppDeployment@4
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: $(AZURESUBSCRIPTION)
        appType: 'webApp'
        WebAppName: '$(WEBAPPNAMETEST)'
        packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'

Speichern Sie Ihre Änderungen, und führen Sie die Pipeline aus.

Eine DeployWebApp-Phase wird mit mehreren Aufgaben definiert:

Sehen Sie sich die bereitgestellte Website in App Service an. Navigieren Sie zu Ihrem App Service, und wählen Sie die Standarddomäne der Instanz aus: https://pipelinetestwebapp.azurewebsites.net.

Screenshot der Standarddomänen-URL.

Die pipelinetestwebapp wurde erfolgreich in App Service bereitgestellt.

Screenshot der Web-App, die in Azure ausgeführt wird.

Konfigurieren der App Service-Authentifizierung

Da die Pipeline nun die Web-App für App Service bereitstellt, können Sie die integrierte Authentifizierung des App-Diensts konfigurieren. Ändern Sie das Inlineskript in denDeployAzureResources in:

  1. Erstellen Sie eine Microsoft Entra-App-Registrierung als Identität für Ihre Web-App. Damit eine App-Registrierung erstellt werden kann, benötigt der Dienstprinzipal für die Ausführung der Pipeline die Rolle „Anwendungsadministrator“ im Verzeichnis.
  2. Rufen Sie ein Geheimnis aus der App ab.
  3. Konfigurieren Sie die Geheimniseinstellung für die App Service-Web-App.
  4. Konfigurieren Sie die Einstellungen für den Umleitungs-URI, den Homepage-URI und den Aussteller für die App Service-Web-App.
  5. Konfigurieren Sie andere Einstellungen in der Web-App.
variables: 
- group: AzureResourcesVariableGroup
   
trigger:
- main

stages:
- stage: Build
  jobs: 
  - job: Build

    pool:
      vmImage: 'windows-latest'

    variables:
      solution: '**/*.sln'
      buildPlatform: 'Any CPU'
      buildConfiguration: 'Release'      

    steps:
    - task: NuGetToolInstaller@1

    - task: NuGetCommand@2
      inputs:
        restoreSolution: '$(solution)'

    - task: VSBuild@1
      inputs:
        solution: '$(solution)'
        msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'
        
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'  
    
- stage: DeployAzureResources
  displayName: 'Deploy resources to Azure'
  dependsOn: Build
  condition: |
    succeeded()    
  jobs: 
  - job: DeployAzureResources
    pool: 
      vmImage: 'windows-latest'
    steps:
      - task: AzureCLI@2
        inputs:
          azureSubscription: $(AZURESUBSCRIPTION)
          scriptType: 'bash'
          scriptLocation: 'inlineScript'
          inlineScript: |
            # Create a resource group
            az group create --location $LOCATION --name $RESOURCEGROUPNAME
            echo "Created resource group $RESOURCEGROUPNAME"    

            # Create App Service plan
            az appservice plan create -g $RESOURCEGROUPNAME -n $SVCPLANNAME --sku FREE
            echo "Created App Service plan $SVCPLANNAME"
            
            ### Create Test resources
            # create and configure an Azure App Service web app
            az webapp create -g $RESOURCEGROUPNAME -p $SVCPLANNAME -n $WEBAPPNAMETEST -r "dotnet:7"

            redirectUriTest="https://$WEBAPPNAMETEST.azurewebsites.net/.auth/login/aad/callback"
            homePageUrlTest="https://$WEBAPPNAMETEST.azurewebsites.net"
            issuerTest="https://sts.windows.net/$TENANTID"
            
            # Required resource access.  Access Microsoft Graph with delegated User.Read permissions.
            cat > manifest.json << EOF
            [
                {
                    "resourceAppId": "00000003-0000-0000-c000-000000000000",
                    "resourceAccess": [
                        {
                            "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                            "type": "Scope"
                        }
                    ]
                }
            ]
            EOF
            
            # Create app registration for App Service authentication
            appIdTest=$(az ad app create --display-name $WEBAPPNAMETEST --sign-in-audience AzureADMyOrg --enable-id-token-issuance true --query appId --output tsv)
            echo "Created app registration $appIdTest"

            # Set identifier URI, homepage, redirect URI, and resource access
            az ad app update --id $appIdTest --identifier-uris api://$appIdTest --web-redirect-uris $redirectUriTest  --web-home-page-url $homePageUrlTest --required-resource-accesses @manifest.json
            echo "Updated app $appIdTest"

            # Get secret from the app for App Service authentication
            secretTest=$(az ad app credential reset --id $appIdTest --query password --output tsv)
            echo "Added secret to app $appIdTest"

            az config set extension.use_dynamic_install=yes_without_prompt
            az extension add --name authV2                      

            az webapp config appsettings set --name $WEBAPPNAMETEST --resource-group $RESOURCEGROUPNAME --slot-settings MICROSOFT_PROVIDER_AUTHENTICATION_SECRET=$secretTest
            echo "Updated settings for web app $WEBAPPNAMETEST"

            az webapp auth microsoft update --name $WEBAPPNAMETEST --resource-group $RESOURCEGROUPNAME --client-id $appIdTest --secret-setting MICROSOFT_PROVIDER_AUTHENTICATION_SECRET --allowed-audiences $redirectUriTest  --issuer $issuerTest
            echo "Updated authentication settings for $WEBAPPNAMETEST"
            
        name: DeploymentScript

- stage: DeployWebApp
  displayName: 'Deploy the web app'
  dependsOn: DeployAzureResources
  condition: |
    succeeded()    
  
  jobs: 
  - job: DeployWebApp
    displayName: 'Depoy Web App'
    pool: 
      vmImage: 'windows-latest'
    
    steps:
      
    - task: DownloadBuildArtifacts@0
      inputs:
        buildType: 'current'
        downloadType: 'single'
        artifactName: 'drop'
        downloadPath: '$(System.DefaultWorkingDirectory)'
    - task: AzureRmWebAppDeployment@4
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: $(AZURESUBSCRIPTION)
        appType: 'webApp'
        WebAppName: '$(WEBAPPNAMETEST)'
        packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'

Speichern Sie Ihre Änderungen, und führen Sie die Pipeline aus.

Überprüfen des beschränkten Zugriffs auf die Web-App

Um zu überprüfen, ob der Zugriff auf Ihre App auf Benutzer in Ihrer Organisation beschränkt ist, navigieren Sie zu Ihrem App-Dienst, und wählen Sie die Standarddomäne der Instanz aus: https://pipelinetestwebapp.azurewebsites.net

Sie sollten auf eine gesicherte Anmeldeseite weitergeleitet werden, um zu überprüfen, dass nicht authentifizierte Benutzer keinen Zugriff auf die Website haben. Melden Sie sich als Benutzer Ihrer Organisation an, um Zugriff auf die Website zu erhalten.

Sie können auch einen neuen Browser starten und versuchen, sich mit einem persönlichen Konto anzumelden, um sich zu vergewissern, dass externe Benutzer keinen Zugriff haben.

Bereinigen von Ressourcen

Bereinigen Sie Ihre Azure-Ressourcen und Ihre Azure DevOps-Umgebung, sodass Ihnen keine Ressourcen in Rechnung gestellt werden, wenn Sie fertig sind.

Löschen der Ressourcengruppe

Wählen Sie im Menü Ressourcengruppen aus, und wählen Sie die Ressourcengruppe aus, die Ihre bereitgestellte Web-App enthält.

Wählen Sie "Ressourcengruppe löschen" aus, um die Ressourcengruppe und alle Ressourcen zu löschen.

Deaktivieren der Pipeline oder Löschen des Azure DevOps-Projekts

Sie haben ein Projekt erstellt, das auf ein GitHub-Repository verweist. Die Ausführung der Pipeline wird jedes Mal ausgelöst, wenn Sie eine Änderung an Ihr GitHub-Repository pushen, wodurch kostenlose Erstellungsminuten oder Ihre Ressourcen verbraucht werden.

Option 1: Deaktivieren der Pipeline

Nutzen Sie diese Option, wenn Sie Ihr Projekt und Ihre Buildpipeline zukünftig als Referenz verwenden möchten. Sie können die Pipeline später bei Bedarf wieder aktivieren.

  1. Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines und dann Ihre Pipeline aus.
  2. Wählen Sie die Auslassungspunkte am rechten Rand aus, und wählen Sie dann Einstellungen aus.
  3. Wählen Sie "Deaktiviert" und dann " Speichern" aus. Die Pipeline verarbeitet keine Ausführungsanforderungen mehr.

Option 2: Löschen des Projekts

Wählen Sie diese Option aus, wenn Sie Ihr DevOps-Projekt in Zukunft nicht mehr benötigen. Damit wird Ihr Azure DevOps-Projekt gelöscht.

  1. Navigieren Sie zu Ihrem Azure DevOps-Projekt.
  2. Wählen Sie "Projekteinstellungen" in der unteren linken Ecke aus.
  3. Scrollen Sie unter "Übersicht" nach unten nach unten auf der Seite, und wählen Sie dann "Löschen" aus.
  4. Geben Sie den Projektnamen in das Textfeld ein, und wählen Sie dann "Löschen" aus.

Löschen von App-Registrierungen in Microsoft Entra ID

Wählen Sie im Microsoft Entra Admin-CenterEntra ID>App-Registrierungen>Alle Anwendungen aus.

Wählen Sie die Anwendung für die Pipeline aus, der Anzeigename hat die Form {organization}-{project}-{guid}, und löschen Sie sie.

Wählen Sie die Anwendung für die Web-App, pipelinetestwebapp aus, und löschen Sie sie.

Nächste Schritte

Weitere Informationen zu: