Freigeben über


Vorbereiten der Infrastruktur und Bereitstellen von Anwendungen mit dem GitHub Copilot-Modernisierungs-Agent

Der GitHub Copilot Modernisierungsagent unterstützt die Bereitstellung von Infrastruktur, die Containerisierung und das Deployment. Diese Fähigkeiten folgen demselben Plan-Erstellen → Plan-Ausführen Modell, das im gesamten Agenten verwendet wird.

Der Workflow besteht aus zwei Phasen:

  1. Infrastrukturvorbereitung: Generieren und Bereitstellen der Azure-Infrastruktur.
  2. Containerisierung und Bereitstellung: Die Anwendung containerisieren und bereitstellen.

Hinweis

Diese beiden Phasen sind unabhängig. Sie können sie zusammen ausführen oder jede Phase separat verwenden. Überspringen Sie beispielsweise die Infrastrukturvorbereitung, wenn Sie bereits eine Umgebung bereitgestellt haben, oder bereiten Sie die Infrastruktur jetzt vor und stellen Sie sie später bereit.

Voraussetzungen

  • Ein Azure-Abonnement: Ein aktives Azure-Abonnement für die Infrastrukturbereitstellung.
  • Modernisieren Sie CLI: Folgen Sie der Schnellstartanleitung zum Installieren und Authentifizieren.

Phase 1: Vorbereitung der Infrastruktur

Der Modernisierungs-Agent erstellt einen Plan zur Bereitstellung der Azure-Infrastruktur basierend auf den von Ihnen bereitgestellten Eingaben. Diese Funktion umfasst die Möglichkeit, eine Azure-Zielzone zu entwerfen, die auf Ihre Anwendung zugeschnitten ist, einschließlich Netzwerk, Identität, Governance und Sicherheitsgrundlagen.

Eingänge

Der Agent kann verschiedene Eingaben verwenden, um den Infrastrukturplan zu informieren:

  • Anwendungsquellcode: Codebasisanalyse zur Ermittlung von Technologiestapel, Abhängigkeiten und Ressourcenanforderungen.
  • Bewertungsberichte: Berichte von modernize assess, Azure Migrate oder anderen Migrations- und Bewertungstools.
  • Architekturdiagramme: Architekturdiagramme vor der Migration oder Entwurfsdokumente im Repository.
  • Compliance- und Sicherheitsanforderungen: Organisationsrichtlinien, Sicherheitsstandards oder Zielzonenrichtlinien, die als Dokumente im Repository oder als natürliche Sprache in Ihrer Aufforderung bereitgestellt werden.

Erstellen des Infrastrukturplans

Verwenden Sie modernize plan create mit einem Prompt, das Ihre Infrastrukturanforderungen beschreibt.

modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup

Der Agent generiert einen Plan, der eine vorgeschlagene Azure-Architektur und eine detaillierte Ressourcenliste enthält, die bereitgestellt werden soll. Standardmäßig deckt der Plan sowohl die IaC-Dateigenerierung als auch die Ressourcenbereitstellung ab. Sie können nur die IaC-Dateigenerierung über Ihre Aufforderung anfordern.

Tipp

Kombinieren Sie unterschiedliche Eingaben und Einstellungen in Ihrer Eingabeaufforderung. Beispiel:

  • "create an Azure landing zone tailored to my application's architecture and requirements"
  • "create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md"
  • "generate Bicep files for the target architecture in the design doc, don't provision yet"
  • "provision azure resources based on the architecture diagram and assessment findings"

Überprüfen des Plans

Überprüfen Sie die Ausgabedateien vor der Ausführung:

  • Plandatei (.github/modernize/infra-setup/plan.md): Infrastrukturstrategie und vorgeschlagene Architektur.
  • Aufgabenliste (.github/modernize/infra-setup/tasks.json): Bestimmte Aufgaben, die der Agent ausführt.

Sie können beide Dateien bearbeiten, um Ressourcenkonfigurationen anzupassen oder den Ansatz vor der Ausführung zu ändern.

Ausführen des Infrastrukturplans

Führen Sie den Plan aus:

modernize plan execute --plan-name infra-setup

Überprüfen der Infrastruktur

Überprüfen Sie den generierten Infrastrukturcode, und bestätigen Sie die Azure-Ressourcen über das Azure-Portal oder die Azure CLI:

git status
git diff main

Phase 2: Containerisierung und Bereitstellung

Verwenden Sie einen zweiten Plan, um Ihre Anwendung zu containern und bereitzustellen.

Hinweis

Diese Phase erfordert Anwendungsquellcode, den Sie bereits migriert oder aktualisiert haben. Schließen Sie die Codemodernisierung ab, bevor Sie mit der Containerisierung und Bereitstellung fortfahren.

Erstellen des Bereitstellungsplans

modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy

Sie können Container gemeinsam verpacken und bereitstellen oder separat jeweils einzeln behandeln.

  • Containerisierung: Generiert ein Dockerfile für Ihr Projekt und überprüft den Build des Container-Images.
  • Bereitstellung: Erstellt alle erforderlichen Konfigurationsdateien und Manifeste basierend auf dem Ziel-Azure-Hostingdienst, stellt die Anwendung bereit und generiert ein wiederverwendbares Bereitstellungsskript für die zukünftige Verwendung.

Tipp

Passen Sie die Eingabeaufforderung an Ihre Anforderungen an:

  • "containerize my app and create dockerfile": nur in Container legen, ohne Bereitstellung.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": Bereitstellen einer bereits containerisierten Anwendung.

Überprüfen des Plans

Überprüfen Sie die generierten Plandateien:

  • Plandatei (.github/modernize/deploy/plan.md): Containerisierung und Bereitstellungsstrategie.
  • Aufgabenliste (.github/modernize/deploy/tasks.json): Bestimmte Bereitstellungsaufgaben.

Ausführen des Bereitstellungsplans

modernize plan execute --plan-name deploy

Überprüfen Sie die Bereitstellung

  1. Überprüfen Sie Codeänderungen: Überprüfen Sie die generierten Dockerfile-, Bereitstellungsmanifesten und Konfigurationsänderungen.

    git status
    git diff main
    
  2. Überprüfen Sie die ausgeführte Anwendung: Greifen Sie über die vom Zielhostingdienst bereitgestellte URL auf Ihre bereitgestellte Anwendung zu.

Verwenden des interaktiven Modus

Sie können auch beide Phasen über die interaktive TUI ausführen, indem Sie modernize starten und im Menü Modernisierungsplan erstellen auswählen.

Nächste Schritte