Entwicklungsprozess für AzureDevelopment process for Azure

„Mit der Cloud können Einzelpersonen und kleine Unternehmen im Handumdrehen Dienste für ihr Unternehmen einrichten.“"With the cloud, individuals and small businesses can snap their fingers and instantly set up enterprise-class services."
– Roy Stephan- Roy Stephan

ZielVision

Entwickeln von ausgereiften ASP.NET Core-Anwendungen mit Visual Studio oder der DotNet-CLI und Visual Studio Code oder einem anderen Editor Ihrer Wahl.Develop well-designed ASP .NET Core applications the way you like, using Visual Studio or the dotnet CLI and Visual Studio Code or your editor of choice.

Entwicklungsumgebung für ASP.NET Core-AppsDevelopment environment for ASP.NET Core apps

Auswahlmöglichkeiten für Entwicklungstools: IDE oder EditorDevelopment tools choices: IDE or editor

Egal, ob Sie eine vollständige und leistungsstarke integrierte Entwicklungsumgebung (IDE) oder einen einfachen und flexiblen Editor bevorzugen: Microsoft bietet Ihnen Tools, die Sie zum Entwickeln von ASP.NET Core-Anwendungen verwenden können.Whether you prefer a full and powerful IDE or a lightweight and agile editor, Microsoft has you covered when developing ASP.NET Core applications.

Visual Studio 2019.Visual Studio 2019. Visual Studio 2019 ist die beste IDE für die Entwicklung von Anwendungen für ASP.NET Core.Visual Studio 2019 is the best-in-class IDE for developing applications for ASP.NET Core. Die IDE bietet eine Reihe von Features, die die Produktivität von Entwicklern steigern.It offers a host of features that increase developer productivity. Sie können sie zur Entwicklung der Anwendung verwenden und dann ihre Leistung und andere Merkmale analysieren.You can use it to develop the application, then analyze its performance and other characteristics. Mit dem integrierten Debugger können Sie die Codeausführung anhalten und den Code während der Ausführung schrittweise durchlaufen.The integrated debugger lets you pause code execution and step back and forth through code on the fly as it's running. Mit dem integrierten Test Runner können Sie Ihre Tests und deren Ergebnisse organisieren und während des Programmierens auch Live Unit Testing ausführen.The built-in test runner lets you organize your tests and their results and can even perform live unit testing while you're coding. Mithilfe von Live Share können Sie in Echtzeit mit anderen Entwicklern zusammenarbeiten und Ihre Codesitzung reibungslos über das Netzwerk freigeben.Using Live Share, you can collaborate in real time with other developers, sharing your code session seamlessly over the network. Sobald Sie soweit sind, enthält Visual Studio alles, was Sie zum Veröffentlichen Ihrer Anwendung in Azure oder an anderer Stelle benötigen.And when you're ready, Visual Studio includes everything you need to publish your application to Azure or wherever you might host it.

Herunterladen von Visual Studio 2019Download Visual Studio 2019

Visual Studio Code und DotNet-CLI (Plattformübergreifende Tools für Mac, Linux und Windows).Visual Studio Code and dotnet CLI (Cross-Platform Tools for Mac, Linux and Windows). Wenn Sie einen einfachen und plattformübergreifenden Editor bevorzugen, der jede beliebige Entwicklungssprache unterstützt, können Sie Microsoft Visual Studio Code und die DotNet-CLI verwenden.If you prefer a lightweight and cross-platform editor supporting any development language, you can use Microsoft Visual Studio Code and the dotnet CLI. Diese Produkte bieten eine einfachen aber widerstandsfähigen Prozess, der den Entwicklungsworkflow optimiert.These products provide a simple yet robust experience that streamlines the developer workflow. Darüber hinaus unterstützt Visual Studio Code Erweiterung für die C#- und Webentwicklung durch Bereitstellung von IntelliSense und Verknüpfungen für Aufgaben im Editor.Additionally, Visual Studio Code supports extensions for C# and web development, providing intellisense and shortcut-tasks within the editor.

.NET Core SDK herunterladenDownload the .NET Core SDK

Visual Studio Code herunterladenDownload Visual Studio Code

Entwicklungsworkflow für in Azure gehostete ASP.NET Core-AppsDevelopment workflow for Azure-hosted ASP.NET Core apps

Der Lebenszyklus der Anwendungsentwicklung beginnt am Computer eines Entwicklers, auf dem dieser die Anwendung mithilfe seiner bevorzugten Sprache codiert und lokal testet.The application development lifecycle starts from each developer's machine, coding the app using their preferred language and testing it locally. Entwickler können ihr bevorzugtes System für die Quellcodeverwaltung auswählen und die Continuous Integration (CI) und bzw. oder die Continuous Delivery (CD) mithilfe eines Buildservers oder integrierten Azure-Features konfigurieren.Developers may choose their preferred source control system and can configure Continuous Integration (CI) and/or Continuous Delivery/Deployment (CD) using a build server or based on built-in Azure features.

Für den Einstieg in die Entwicklung einer ASP.NET Core-Anwendung mit CI bzw. CD können Sie Azure DevOps Services oder Team Foundation Server (TFS) Ihrer Organisation verwenden.To get started with developing an ASP.NET Core application using CI/CD, you can use Azure DevOps Services or your organization's own Team Foundation Server (TFS).

Erste EinrichtungInitial setup

Zum Erstellen einer Releasepipeline muss der Code Ihrer Anwendung sich in der Quellcodeverwaltung befinden.To create a release pipeline for your app, you need to have your application code in source control. Richten Sie ein lokales Repository ein, und verbinden Sie es mit einem Remoterepository in einem Teamprojekt.Set up a local repository and connect it to a remote repository in a team project. Befolgen Sie diese Anweisungen:Follow these instructions:

Erstellen Sie einen Azure App Service, in dem Sie Ihre Anwendung bereitstellen.Create an Azure App Service where you'll deploy your application. Erstellen Sie eine Webanwendung, indem Sie zum Blatt „App Services“ im Azure-Portal navigieren.Create a Web App by going to the App Services blade on the Azure portal. Klicken Sie auf „+Hinzufügen“, wählen Sie die Vorlage „Web App“ aus, klicken Sie auf „Erstellen“, und geben Sie einen Namen sowie die anderen erforderlichen Informationen an.Click +Add, select the Web App template, click Create, and provide a name and other details. Auf die Webanwendung kann über „{name}.azurewebsites.net“ zugegriffen werden.The web app will be accessible from {name}.azurewebsites.net.

AzureWebApp

Abbildung 10-1Figure 10-1. Erstellen einer neuen Azure App Service-Webanwendung im Azure-Portal.Creating a new Azure App Service Web App in the Azure Portal.

Der CI-Buildprozess führt einen automatisierten Buildvorgang aus, wenn neuer Code an das Quellcodeverwaltungs-Repository des Projekts committet wird.Your CI build process will perform an automated build whenever new code is committed to the project's source control repository. Dadurch erhalten Sie sofortiges Feedback, dass der Code erstellt wird (und im Idealfall die automatisierten Tests besteht) und bereitgestellt werden kann.This gives you immediate feedback that the code builds (and, ideally, passes automated tests) and can potentially be deployed. Dieser CI-Build erstellt ein Web Deploy-Paketartefakt und veröffentlicht dieses für die Nutzung durch Ihren CD-Prozess.This CI build will produce a web deploy package artifact and publish it for consumption by your CD process.

Definieren des CI-BuildprozessesDefine your CI build process

Achten Sie darauf, dass die Continuous Integration aktiviert ist, damit das System den Buildvorgang der Warteschlange hinzufügt, wenn jemand in Ihrem Team neuen Code committet.Be sure to enable continuous integration so the system will queue a build whenever someone on your team commits new code. Testen Sie den Build und stellen Sie sicher, dass er ein Web Deploy-Paket als eines seiner Artefakte erstellt.Test the build and verify that it is producing a web deploy package as one of its artifacts.

Wenn ein Build erfolgreich ist, werden die Ergebnisse Ihres CI-Builds durch Ihren CD-Prozess für Ihre Azure-Webanwendung bereitgestellt.When a build succeeds, your CD process will deploy the results of your CI build to your Azure web app. Erstellen und konfigurieren Sie ein Release, das Sie dann für Ihren Azure App Service bereitstellen, um dies zu konfigurieren.To configure this, you create and configure a Release, which will deploy to your Azure App Service.

Bereitstellen einer Azure-Web-AppDeploy an Azure web app

Sobald Ihre CI- und CD-Pipeline konfiguriert ist, können Sie Ihre Webanwendung aktualisieren und dann an die Quellcodeverwaltung committen, um diese bereitzustellen.Once your CI/CD pipeline is configured, you can simply make updates to your web app and commit them to source control to have them deployed.

Entwicklungsworkflow für in Azure gehostete ASP.NET Core-AppsWorkflow for developing Azure-hosted ASP.NET Core applications

Sobald Sie ihr Azure-Konto und Ihre CI- und CD-Prozesse konfiguriert haben, ist die Entwicklungen von in Azure gehosteten ASP.NET Core-Apps einfach.Once you have configured your Azure account and your CI/CD process, developing Azure-hosted ASP.NET Core applications is simple. In der folgenden Abbildung (10-2) sind die grundlegenden Schritte zum Erstellen einer ASP.NET Core-App dargestellt, die in Azure App Service als Web-App gehostet wird.The following are the basic steps you usually take when building an ASP.NET Core app, hosted in Azure App Service as a Web App, as illustrated in Figure 10-2.

EndToEndDevDeployWorkflow

Abbildung 10-2Figure 10-2. Exemplarischer Workflow für das Erstellen von ASP.NET Core-Apps und das Hosten dieser in AzureStep-by-step workflow for building ASP.NET Core apps and hosting them in Azure

Schritt 1.Step 1. Lokale Entwicklungsumgebung – innere SchleifeLocal dev environment inner loop

Die Entwicklung Ihrer ASP.NET Core-Anwendung für die Bereitstellung in Azure unterscheidet sich nicht von anderer Anwendungsentwicklung.Developing your ASP.NET Core application for deployment to Azure is no different from developing your application otherwise. Verwenden Sie eine lokale Entwicklungsumgebung, mit der Sie vertraut sind, egal ob es sich dabei um Visual Studio 2017, die DotNet-CLI mit Visual Studio Code oder um Ihren bevorzugten Editor handelt.Use the local development environment you're comfortable with, whether that's Visual Studio 2017 or the dotnet CLI and Visual Studio Code or your preferred editor. Sie können Code schreiben, ausführen und Ihre Änderungen debuggen, automatisierte Tests ausführen und lokale Commits zur Quellcodeverwaltung erstellen, bis Sie bereit dazu sind, Ihre Änderungen an Ihr freigegebenes Repository zur Quellcodeverwaltung zu übergeben.You can write code, run and debug your changes, run automated tests, and make local commits to source control until you're ready to push your changes to your shared source control repository.

Schritt 2Step 2. Repository für AnwendungscodeApplication code repository

Wenn Sie bereit dazu sind, Ihren Code mit Ihrem Team zu teilen, sollten Sie Ihre Änderungen vom lokalen Quellrepository an das freigegebene Quellrepository des Teams übergeben.Whenever you're ready to share your code with your team, you should push your changes from your local source repository to your team's shared source repository. Wenn Sie an einem benutzerdefinierten Branch gearbeitet haben, erfordert dieser Schritt in der Regel das Zusammenführen Ihres Codes in einen freigegebenen Branch (möglicherweise über einen Pull Request).If you've been working in a custom branch, this step usually involves merging your code into a shared branch (perhaps by means of a pull request).

Schritt 3Step 3. Buildserver: Continuous Integration –Build Server: Continuous integration. Erstellen, Testen, Packenbuild, test, package

Ein neuer Buildvorgang wird auf dem Buildserver ausgelöst, wenn ein neuer Commit an das freigegebene Repository für Anwendungscode ausgeführt wird.A new build is triggered on the build server whenever a new commit is made to the shared application code repository. Als Teil des CI-Prozesses sollte dieser Buildvorgang die Anwendung vollständig kompilieren und automatisierte Tests ausführen, um sicherzustellen, dass alles wie erwartet funktioniert.As part of the CI process, this build should fully compile the application and run automated tests to confirm everything is working as expected. Das Endergebnis des CI-Prozesses sollte eine gepackte Version der Webanwendung sein, die bereit für die Bereitstellung ist.The end result of the CI process should be a packaged version of the web app, ready for deployment.

Schritt 4.Step 4. Buildserver: Continuous DeliveryBuild Server: Continuous delivery

Wenn ein Buildvorgang erfolgreich war, übernimmt der CD-Prozess die erstellten Buildartefakte.Once a build has succeeded, the CD process will pick up the build artifacts produced. Ein Web Deploy-Paket wird einbezogen.This will include a web deploy package. Der Buildserver stellt dieses Paket für Azure App Service bereit und ersetzt dabei alle vorhandenen Dienste durch die neu erstellten.The build server will deploy this package to Azure App Service, replacing any existing service with the newly created one. In der Regel ist dieser Schritt auf eine Stagingumgebung ausgerichtet. Manche Anwendungen führen durch einen CD-Prozess jedoch direkt eine Bereitstellung für die Produktion durch.Typically this step targets a staging environment, but some applications deploy directly to production through a CD process.

Schritt 5.Step 5. Azure App Service-Web-AppAzure App Service Web App

Sobald sie bereitgestellt ist, wird die ASP.NET Core-App im Kontext einer Azure App Service-Web-App ausgeführt.Once deployed, the ASP.NET Core application runs within the context of an Azure App Service Web App. Diese Web-App kann überwacht und mithilfe des Azure-Portals weiter konfiguriert werden.This Web App can be monitored and further configured using the Azure Portal.

Schritt 6.Step 6. Überwachung und Diagnose in der ProduktionProduction monitoring and diagnostics

Während die Web-App ausgeführt wird, können Sie die Integrität der Anwendung überwachen und Daten für die Diagnose und das Benutzerverhalten sammeln.While the Web App is running, you can monitor the health of the application and collect diagnostics and user behavior data. Application Insights ist in Visual Studio enthalten und bietet automatische Instrumentierung für ASP.NET-Apps.Application Insights is included in Visual Studio, and offers automatic instrumentation for ASP.NET apps. Application Insights bietet Ihnen Informationen zu Verwendung, Ausnahmen, Anforderungen, Leistung und Protokollen.It can provide you with information on usage, exceptions, requests, performance, and logs.

VerweiseReferences

Build and Deploy Your ASP.NET Core App to Azure (Erstellen und Bereitstellen Ihrer ASP.NET Core-App in Azure)Build and Deploy Your ASP.NET Core App to Azure
https://docs.microsoft.com/azure/devops/build-release/apps/aspnet/build-aspnet-core