ASP.NET-Apps auf AWS Elastic Beanstalk migrieren, Teil 1

Visual Studio mit AWS CodeCommit nutzen

| Autor / Redakteur: Thomas Drilling / Stephan Augsten

Für unsere einfache CI/CD-Pipeline auf AWS ElasticBeanstalk benötigen wir ein leeres CodeCommit-Projekt.
Für unsere einfache CI/CD-Pipeline auf AWS ElasticBeanstalk benötigen wir ein leeres CodeCommit-Projekt. (Bild: Drilling / AWS)

Elastic Beanstalk bietet eine komplett von AWS verwaltete .NET-Plattform für Deployment, Skalierung und Aktualisierung von Anwendungen. Wir beschreiben in einem vierteiligen Workshop, wie man die zugrunde liegende DevOps-Pipeline komplett auf AWS betreiben kann.

AWS-Nutzer, die ihre mit dem .NET Framework 4.x erstellten ASP.NET-Apps auf AWS migrieren, entscheiden sich häufig für eine Bereitstellung auf bzw. mit AWS Elastic Beanstalk. Bei Migrations-Projekten dieser Art stellt sich in der Regel zunächst die Frage, wie man Continuous Integration and Delivery Pipelines für solche ASP.NET-Apps erstellen kann, ohne Jenkins-Instanzen oder andere Infrastruktur-Komponenten einrichten und verwalten zu müssen.

Die Lösung ist einfach: man kann derartige CI/CD-Pipelines auf einfache Weise mit AWS CodePipeline als Orchestrator, AWS CodeBuild zum Durchführen von Builds und AWS CodeCommit, GitHub oder anderen Quellcode-Management-Systemen erstellen. Dieser mehrteilige Workshop zeigt, wie Entwickler eine gegenüber der externen Jenkins-Integration deutlich vereinfachte CI/CD-Pipeline auf AWS einrichten.

Diese Pipeline lässt sich später problemlos um Komponententests erweitern. Das Praxisbeispiel ist angelehnt an einen Beitrag im AWS-Developers-Blog. Für das Source Code Management nutzen wir ein CodeCommit Git Repository, das wir aber erst einmal anlegen müssen.

Erstellen eines CodeCommit-Repos

Anlegen eines leeren CodeCommit-Projekts in AWS.
Anlegen eines leeren CodeCommit-Projekts in AWS. (Bild: Drilling / AWS)

Der erste Schritt beim Einrichten dieser solchen vereinfachten CI/CD-Pipeline besteht darin, ein CodeCommit-Projekt auf AWS zu erstellen und eine buildspec.yml-Datei hinzuzufügen. Das Erstellen eines leeren CodeCommit-Projekts in AWS ist nicht schwierig und mit wenigen Mausklicks erledigt, sofern die Voraussetzungen erfüllt sind (IAM-Nutzer, IAM-Rolle für CodeCommit, Access-Credentials, Git-Credentials). Wir verweisen dazu auf unsere ausführliche Artikelreihe zum Einrichten von AWS.

ASP.NET-Webanwendung erstellen

In Visual Studio existieren etliche Projektvorlagen, darunter auch die „ASP.NET-Webanwendung (.NET Framework)“.
In Visual Studio existieren etliche Projektvorlagen, darunter auch die „ASP.NET-Webanwendung (.NET Framework)“. (Bild: Drilling / Microsoft)

Danach benötigen wir eine ASP.NET-Webanwendung. Wer den Beitrag nachvollziehen möchte, kann z. B. in Visual Studio wahlweise ein neues Projekt „ASP.NET-Webanwendung (.NET Framework)“ erstellen oder eine vorhandene Anwendung auswählen.

Bei einer Neuanlage stehen verschiedene Projekttypen zur Verfügung.
Bei einer Neuanlage stehen verschiedene Projekttypen zur Verfügung. (Bild: Drilling / Microsoft)

Wer ein neues ASP.NET-Webanwendungsprojekt erstellt, kann als Projekttyp wahlweise MVC, Web-API oder Web Forms auswählen, die allesamt auf ASP.NET 4.x basieren. Egal welchen Typ man auswählt, es ist auf jeden Fall sicherzustellen, dass er lokal erstellt und ausgeführt wird.

Für das erstmalige Einrichten einer Code-Pipeline für unserer ASP.NET-Anwendung empfiehlt es sich, erst einmal eine einfache App zu verwenden, die keine Datenbanken oder andere Ressourcen benötigt und nur aus einem einzelnen Projekt besteht.

Integration mit CodeCommit

Ist das erledigt, muss man das Projekt einem CodeCommit Git-Repository hinzufügen. Dazu kann man wahlweise ...

  • ein neues Repository in der CodeCommit-Webkonsole erstellen,
  • einem bestehenden CodeCommit Repository neue (oder ältere) Anwendungen hinzufügen, wie in der CodeCommit-Dokumentation ausgeführt,
  • das neue Repository direkt im Team Explorer von Visual Studio erstellen, indem man das AWS Toolkit for Visual Studio zur Integration mit CodeCommit verwendet.

Verbindung zum AWS CodeCommit Repository

Wer den Team Explorer zum Erstellen und/oder Interagieren mit dem CodeCommit Git-Repository für sein Projekt verwenden möchte, muss Schritt 2 in der CodeCommit-Dokumentation zum Integrieren von Visual Studio in AWS CodeCommit befolgen. Dann befolgt man die Schritte unter „Erstellen eines CodeCommit-Repository in Visual Studio“ im gleichen Abschnitt.

Natürlich kann man sein Projekt auch lokal in einer anderen IDE oder komplett manuell erstellen und sich via git-CLI direkt mit einem CodeCommit-Repository synchronisieren. Wir sind für diesen Workshop so vorgegangen, dass wir ein leeres Repository in CodeCommit und dann ein neues ASP.NET-Webanwendungsprojekt in Visual Studio erstellt haben, das sich dann via AWS Toolkit für Visual Studio mit Diesem verbindet.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46324494 / App Management)