Bewertung der Anwendungsmodernisierung erstellen

Die App-Modernisierungsbewertung (codmod) im Google Cloud Modernization Hub ist ein KI-basiertes Tool, das den Modernisierungsbewertungsprozess für Ihre Anwendung automatisiert. Auf dieser Seite werden die Schritte zum Installieren, Verwenden und Beheben von Fehlern des eigenständigen codmod-Befehlszeilentools (CLI) auf Ihrer Workstation beschrieben. Informationen zum Ausführen von containerisierten codmod-Bewertungen direkt in der Google Cloud Console finden Sie unter .NET-Anwendungen bewerten und Java-Anwendungen bewerten.

Bewertung der Anwendungsmodernisierung

Die codmod-Befehlszeile ist ein portables Tool, das Gemini verwendet, um Quellcode zu analysieren und Modernisierungsempfehlungen basierend auf Best Practices von Google Cloudzu geben.

Manuelle Modernisierungsbewertungen können Wochen dauern. codmod automatisiert diesen Prozess, um die Bewertungszeit auf wenige Stunden zu reduzieren. Das Tool liefert evidenzbasierte Informationen zur Architektur, Funktionalität und potenziellen Blockern Ihrer Anwendung, die die Migration zu Google Cloudverlangsamen könnten.

Dieses Tool richtet sich an IT-Architekten, Entscheidungsträger und Anwendungsinhaber.

Hinweis

Für das codmod-Tool gelten die folgenden Voraussetzungen:

  • Eine Linux- oder Windows-Workstation (10 oder höher).
  • Ein Google Cloud -Projekt mit aktivierter Agent Platform API.
  • Die Google Cloud CLI ist auf Ihrer Workstation installiert. Weitere Informationen finden Sie unter gcloud CLI installieren.

Preise

Die Kosten für die Verwendung von Gemini zur Codebewertung hängen hauptsächlich von der Größe der Codebasis ab und werden in Tokens gemessen. In der folgenden Tabelle sind die Kostenschätzungen aufgeführt, die Sie basierend auf Ihren Codezeilen und dem ausgewählten Modell erwarten können:

Codebase Codezeilen (LOC) Geschätzte Kosten
3.8-flash (Standard) 3.5-flash 2.5-pro 2.5-flash adaptiv
Spring Petclinic ~6.500 9 $ 3 $ 20 $ 3 $ 20 $
James Project ~1.000.000 200 $ 200 $ 200 $ 30 $ 40 $
Elasticsearch ~5.000.000 500 $ 500 $ 900 $ 200 $ 200 $

Diese Werte sind möglicherweise zu hoch, da sie mögliche Einsparungen aufgrund der folgenden Faktoren nicht berücksichtigen:

  • Reduzierte Preise für kurze Abfragen.
  • Reduzierte Preise für implizites Caching.
  • Rabatte für zugesicherte Nutzung (CUDs).

Die Kosten für diese Parameter machen voraussichtlich nur einen vernachlässigbaren Teil der Gesamtkosten aus, insbesondere bei größeren Codebasen. Weitere Informationen finden Sie unter Gemini API-Preise.

Weitere Informationen

Das Tool nutzt die erweiterten Funktionen der Agent Platform API für das Verständnis und die Analyse von Code. Weitere Informationen zu den verfügbaren Modellen und ihren Funktionen finden Sie in der Dokumentation zur Agent Platform unter Google-Modelle.

Um eine optimale Leistung und Kosteneffizienz zu gewährleisten, gilt für codmod eine Größenbeschränkung für die Codebasis von etwa 6 Millionen Codezeilen. Wenn Ihre Codebasis dieses Limit überschreitet, empfehlen wir, sie für die Analyse in kleinere, überschaubare Teile aufzuteilen. Die Analyse kleinerer Abschnitte kann auch zu gezielteren Bewertungen beitragen und die Gesamtverarbeitungszeit verkürzen.

codmod einrichten

In diesem Abschnitt finden Sie Installations- und Authentifizierungsanleitungen für das codmod-Tool.

codmod installieren

Windows

Führen Sie den folgenden Befehl in Windows PowerShell aus, um die neueste Version von codmod herunterzuladen:

$version=curl.exe -s https://codmod-release.storage.googleapis.com/latest
curl.exe -O "https://codmod-release.storage.googleapis.com/${version}/windows/amd64/codmod.exe"

Linux

Führen Sie den folgenden Befehl aus, um die aktuelle Version von codmod herunterzuladen:

version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/linux/amd64/codmod"
chmod +x codmod

Wenn Sie den Befehl codmod verwenden möchten, fügen Sie die ausführbare Datei dem Pfad hinzu oder erstellen Sie einen Alias.

Bei Google Cloudauthentifizieren

Wenn Sie das codmod-Tool verwenden möchten, benötigen Sie ein Google Cloud Projekt.

  1. Prüfen Sie, ob die Agent Platform API für das Projekt in der Google Cloud Console oder über die Befehlszeile aktiviert ist:

    gcloud services enable aiplatform.googleapis.com --project <project-id>
    
  2. Sie benötigen die Rolle „Agent Platform User“ (roles/aiplatform.user) oder eine ähnliche Rolle für das Projekt.

  3. Führen Sie zur Authentifizierung den folgenden Befehl aus:

    gcloud auth application-default login
    

Alternativ können Sie ein Dienstkonto verwenden und die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen. Weitere Informationen finden Sie unter Funktionsweise von Standardanmeldedaten für Anwendungen.

codmod-Konfiguration verwalten

In den folgenden Abschnitten wird beschrieben, wie Sie codmod mit dem Befehl codmod config konfigurieren.

Alle Einstellungen auflisten

Führen Sie den folgenden Befehl aus, um alle aktuellen Konfigurationsattribute und ihre Werte aufzurufen:

codmod config list

Standardwert für ein Flag festlegen

Verwenden Sie den Befehl set, um einen Standardwert für ein Attribut festzulegen. Führen Sie beispielsweise den folgenden Befehl aus, um die Standardprojekt-ID festzulegen:

codmod config set project "PROJECT_ID"

Ersetzen Sie PROJECT_ID durch die Projekt-ID von Google Cloud .

Führen Sie folgenden Befehl aus, um die Standardregion festzulegen:

codmod config set region "REGION"

Ersetzen Sie REGION durch die Google Cloud Region. Liste der verfügbaren Regionen Wenn Sie sich nicht sicher sind, welche Region Sie verwenden sollen, verwenden Sie us-central1.

Bestimmten Wert abrufen

Verwenden Sie den Befehl get, um den Wert eines einzelnen Attributs aufzurufen. Führen Sie beispielsweise den folgenden Befehl aus, um die konfigurierte Projekt-ID abzurufen:

codmod config get project

Standardwert entfernen

Wenn Sie einen konfigurierten Standardwert entfernen und die ursprüngliche Standardeinstellung des Tools wiederherstellen möchten, verwenden Sie den Befehl unset. Führen Sie beispielsweise den folgenden Befehl aus, um die Standard-Projekt-ID zu entfernen:

codmod config unset project

codmod-Bewertungsbericht erstellen

In den folgenden Abschnitten wird beschrieben, wie Sie die Standardbewertung erstellen und an Ihre Anforderungen anpassen.

Standardbericht erstellen

Führen Sie das Tool codmod mit den folgenden Flags aus, um einen Bewertungsbericht zu erstellen:

codmod create -c "CODEBASE" -o "OUTPUT"

Ersetzen Sie Folgendes:

  • CODEBASE: Gibt das Verzeichnis an, das den zu analysierenden Quellcode enthält. Kann mehrmals angegeben werden.
  • OUTPUT: Gibt den Pfad an, unter dem der generierte Bericht gespeichert wird. Der Bericht ist im HTML-Format.

Sie können das Standardprojekt und die Standardregion mit den Flags -p "PROJECT_ID" bzw. -r "REGION" überschreiben.

Sie können auch die folgenden optionalen Flags angeben:

  • --modelset [3.8-flash|3.5-flash|2.5-pro|2.5-flash|adaptive]: Gibt an, welche Gemini-Modelle verwendet werden sollen. Der Standardwert ist 3.8-flash.
  • --format <html|markdown|odt|json>: das Format, das für den generierten Bericht verwendet wird. Der Standardwert ist HTML.
  • --allow-large-codebase: Standardmäßig bittet codmod vor der Analyse von Codebasen mit mehr als 1 Million Codezeilen um Bestätigung, um hohe Kosten zu vermeiden. Diese Option dient als nicht interaktive Bestätigung. Sie können dies auch standardmäßig aktivieren, indem Sie codmod config set allow_large_codebase true ausführen.
  • --improve-fidelity: Wenn dieser Wert festgelegt ist, generiert codmod Abschnitte nacheinander statt parallel. Dadurch wird die Konsistenz zwischen den verschiedenen Abschnitten des endgültigen Berichts verbessert, aber die Ausführungszeit verlängert sich.
  • --force-include <strings>, --force-exclude <strings>: Standardmäßig scannt codmod gängige Dateiendungen, einschließlich Java, .NET und Python. Verwenden Sie diese Flags, um Dateiendungen ein- oder auszuschließen. Das Argument muss ein regulärer Ausdruck mit der RE2-Syntax sein.
  • --context <string>: zusätzlicher Kontext, den Sie zum Projekt angeben möchten. Das Tool berücksichtigt diesen Kontext beim Erstellen des Berichts.
  • --context-file <path>: entspricht --context, wobei der Kontext in der angegebenen Datei bereitgestellt wird.
  • --supporting-documents <path>: Gibt ein Verzeichnis mit unterstützender Dokumentation zur Codebasis an. Auf Dateien in diesem Verzeichnis kann über den Kontext verwiesen werden, der mit den Flags --context oder --context-file angegeben wird, um sie in die Analyse einzubeziehen. Zu den unterstützten Formaten gehören Text, PDF und Bilder (PNG, JPG, JPEG).

Vollständigen Bericht erstellen

Wenn Sie eine vollständige Analyse benötigen, erstellen Sie mit dem Befehl create full einen Bericht:

codmod create full -c "~/mycodebase/" -o "report.html"

Bericht mit Schwerpunkt auf der Datenschicht erstellen

Wenn die Datenschicht genauer betrachtet werden muss, kann ein Bericht mit Fokus auf diesen Bereich erstellt werden:

codmod create data-layer -c "CODEBASE" -o "OUTPUT"

Bericht für ein bestimmtes Transformationsziel erstellen

Wenn Sie den Bericht auf ein bestimmtes Modernisierungsziel ausrichten möchten, können Sie eines der folgenden unterstützten Ziele verwenden:

  • Microsoft-Arbeitslasttransformation (MICROSOFT_MODERNIZATION): Verwenden Sie diese Option für Anwendungen, die auf einem Microsoft-Betriebssystem ausgeführt werden. Die Bewertung konzentriert sich auf Transformationsprozesse, die .NET-basierte Frameworks modernisieren, um die aktuelle Version zu verwenden und die Abhängigkeiten von Microsoft-Lizenzen zu reduzieren.
  • Cloud-zu-Cloud-Arbeitslasttransformation (CLOUD_TO_CLOUD): Für Anwendungen, die auf einer anderen Hyperscaler-Infrastruktur ausgeführt werden. Die Bewertung konzentriert sich auf die empfohlenen Änderungen für die Transformation der Anwendung, z. B. die Zuordnung anderer Cloud-Anbieterdienste zuGoogle Cloud -Diensten.
  • Legacy-Java-Transformation (JAVA_LEGACY_TO_MODERN): Verwenden Sie diese Option für Anwendungen, die mit Java 8 oder einer ähnlichen Version ausgeführt werden. Bei der Bewertung wird nach Upgrade-Abhängigkeiten und Bereichen im Code gesucht, die von der Änderung zu Java 21 (der aktuellen LTS-Version) betroffen sind.
  • Legacy-Java-WILDFLY-Transformation (WILDFLY_LEGACY_TO_MODERN): Verwenden Sie diese Option mit Java EE-/Jakarta EE-Codebasen, die auf WildFly-Anwendungsserverversionen vor der neuesten Version ausgeführt werden. Der Schwerpunkt der Bewertung liegt auf der Identifizierung von Upgrade-Abhängigkeiten und Bereichen im Code, die von der Aktualisierung der WildFly-Anwendungsserverversion betroffen sind, einschließlich der Änderungen, die für API-Unterschiede und Kompatibilität erforderlich sind.
  • Migration von C/C++-Anwendungen zur Arm-Architektur (ARM_MIGRATION): Verwenden Sie diese Option mit C/C++-Anwendungen, um deren Bereitschaft und den Aufwand für die Migration von x86-basierten Architekturen zu Arm-basierten Architekturen wie Google Cloud Axion C4A-VMs zu bewerten. Die Bewertung konzentriert sich auf die Identifizierung potenzieller Probleme mit der Codeportabilität, architekturspezifischer Abhängigkeiten, Änderungen am Build-System und Überlegungen zu Tests, die für einen erfolgreichen Übergang zu Arm vonGoogle Cloud oder einem anderen CSP wie den Graviton-Instanzen von AWS erforderlich sind.

Verwenden Sie das Flag --intent, um einen Bericht mit Fokus auf die Absicht zu erstellen:

codmod create -c "CODEBASE" -o "OUTPUT" --intent "INTENT"

Bericht mit zusätzlichen Abschnitten erstellen

Das Tool unterstützt das Einbeziehen zusätzlicher Abschnitte, die standardmäßig nicht enthalten sind, um die Kosten zu senken. Die folgenden Abschnitte werden unterstützt:

  • files: Eine strukturierte hierarchische Ansicht der Projektordner und eine Beschreibung des Inhalts der einzelnen Ordner, damit Sie sich in den Projektdateien zurechtfinden.
  • classes: Ein Katalog von Codeklassen mit Informationen zu jeder Klasse und ihren Abhängigkeiten von anderen Klassen. Die unterstützten Sprachen sind Java und C#.

Verwenden Sie das Flag --optional-sections, um die zusätzlichen Abschnitte zu erstellen:

codmod create -c "CODEBASE" -o "OUTPUT" --optional-sections "SECTIONS"

Ersetzen Sie SECTIONS durch eine durch Kommas getrennte Liste von Werten.

Benutzerdefinierten Bericht erstellen.

Wenn Sie bestimmte benutzerdefinierte Themen untersuchen möchten, können Sie mit dem folgenden Befehl einen benutzerdefinierten Bericht basierend auf dem von Ihnen angegebenen Kontext erstellen:

codmod create custom -c "CODEBASE" -o "OUTPUT" --context "CONTEXT"

Standardmäßig wird ein LLM verwendet, um den bereitgestellten Kontext zu erweitern und anzupassen, damit ein kohärenter Abschnitt generiert wird. Sie können dieses Verhalten deaktivieren, indem Sie --improve-context=false angeben.

Zusätzliche Flags:

  • --from-template <path>: Gibt eine Vorlagendatei an, die die Dokumentstruktur entweder im Text- oder PDF-Dateiformat definiert. codmod erkennt die Struktur und bittet um Genehmigung, um mit der Erstellung des Berichts fortzufahren.
  • --skip-template-approval: Überspringt die Genehmigungsanfrage, wenn das Flag --from-template verwendet wird.

Vorhandenen Bericht ändern

Sie können einen neuen Abschnitt in einem Bericht erstellen oder einen vorhandenen Abschnitt basierend auf einem bestimmten Abschnitt ändern. Sie können sich beispielsweise auf einen bestimmten Aspekt der Systemarchitektur oder auf eine bestimmte Art von Sicherheitslücke konzentrieren.

Für Befehle, die einen Bericht ändern, sind die folgenden Flags erforderlich:

  • Entweder --context oder --context-file: Geben Sie die Änderungsanfrage an.
  • --from-report: Gibt den Pfad für die vorhandene Berichtsdatei an.
  • --from-section: Name des Abschnitts, der als Grundlage für einen neuen Abschnitt verwendet werden soll (z. B. „Bewertungsübersicht“ oder „Architektur“).

Führen Sie den folgenden Befehl aus, um alle verfügbaren Abschnitte in einem bestimmten Bericht anzuzeigen:

codmod list-sections --from-report "REPORT"

Berichtsabschnitt überarbeiten

Ändern Sie einen vorhandenen Abschnitt mit dem folgenden Befehl:

codmod revise section -c "CODEBASE" --from-report "REPORT" \
  -o "REVISED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"

Neuen Berichtsabschnitt erstellen

Erstellen Sie mit dem folgenden Befehl einen neuen Abschnitt:

codmod create section -c "CODEBASE" --from-report "REPORT" \
  -o "REGENERATED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"
  • Das Flag --from-section im Befehl create section ist optional.
  • Standardmäßig wird ein LLM verwendet, um den bereitgestellten Kontext zu erweitern und anzupassen, damit ein kohärenter Abschnitt generiert wird. Sie können dieses Verhalten deaktivieren, indem Sie --improve-context=false angeben.

Wichtige Hinweise:

  • create section und revise section unterstützen nur das Berichtsformat html.
  • create section, revise section und list-sections erwarten, dass das Flag --from-report auf einen Bericht im HTML-Format verweist.

Bewertungskosten schätzen

Mit dem codmod-Tool können Sie die Kosten für die Verwendung des Tools nachvollziehen, indem Sie die ungefähren Kosten für die Erstellung eines Berichts berechnen. Führen Sie den folgenden Befehl aus, um Ihre Kostenschätzung aufzurufen:

codmod create --estimate-cost -c "CODEBASE"

Kostenschätzungen werden für die Befehle create section und create custom nicht unterstützt.

Ausführlichkeitsgrad festlegen

Die Ausführlichkeit von codmod wird mit dem Flag --verbosity LEVEL konfiguriert. Die Ausführlichkeit der Logs ist eine der folgenden: debug, info, warn, error oder none. Der Standardwert ist warn.

codmod-CLI-Version prüfen und aktualisieren

Die codmod-CLI kann automatisch prüfen, ob eine neuere Version verfügbar ist.

Automatische Prüfungen

Alle 24 Stunden fragt die Befehlszeile einen Cloud Storage-Bucket ab, um zu prüfen, ob eine neuere Version von codmod veröffentlicht wurde. Wenn eine neuere Version gefunden wird, wird eine Benachrichtigung in Ihrem Terminal angezeigt. Die Nachricht enthält die neue Versionsnummer und einen Link zum Herunterladen des Updates. So bleiben Sie immer auf dem neuesten Stand, was Funktionen, Verbesserungen und Fehlerkorrekturen betrifft.

Versionsprüfungen deaktivieren

Wenn Sie die automatische Versionsprüfung deaktivieren möchten, können Sie den Befehl config set verwenden:

codmod config set disable_version_check true

Wenn Sie die Versionsprüfung wieder aktivieren möchten, setzen Sie den Wert auf false zurück:

codmod config set disable_version_check false

Sie können den aktuellen Status dieser Einstellung und anderer Konfigurationen mit folgendem Befehl aufrufen:

codmod config list

Befehlszeilenvervollständigung

Das codmod-CLI-Tool unterstützt die Shell-Befehlszeilenvervollständigung für Bash, Zsh, Fish und PowerShell. Mit dieser Funktion können Sie Befehle, Flags und Argumente schnell eingeben, indem Sie die Taste Tab drücken, um verfügbare Optionen aufzurufen und auszuwählen.

Die automatische Vervollständigung bietet folgende Vorteile:

  • Befehle und Flags automatisch vervollständigen: Beginnen Sie mit der Eingabe eines codmod-Befehls oder -Flags und drücken Sie Tab, um mögliche Vervollständigungen zu sehen.
  • Optionen entdecken: Hier finden Sie gültige Werte für bestimmte Flags. Beispiel:
    • codmod create --modelset [TAB] schlägt verfügbare Modellsätze vor (z. B. 3.8-flash, 2.5-pro).
    • codmod create --format [TAB] schlägt Ausgabeformate vor (z. B. html, json, markdown).
    • codmod create --intent [TAB] schlägt vordefinierte Intents vor.
  • Kontextbezogene Vorschläge: Die Vervollständigung ist auf den Befehl zugeschnitten. Beispiel:
    • codmod config set [TAB] schlägt die verfügbaren Konfigurationsschlüssel vor, die Sie festlegen können.
    • codmod config get [TAB] schlägt die verfügbaren Konfigurationsschlüssel vor, die Sie abrufen können.
    • Die Vervollständigung von Dateipfaden wird nur für Flags oder Argumente angeboten, die einen Datei- oder Verzeichnispfad erwarten (z. B. --codebase, --output-path). Bei anderen Flags wie --project werden keine Dateinamen mehr vorgeschlagen.

Shell-Vervollständigung aktivieren

Bevor Sie die Shell-Vervollständigung aktivieren, müssen Sie dafür sorgen, dass der Befehl codmod funktioniert. Fügen Sie dazu die ausführbare Datei zum Pfad hinzu oder erstellen Sie einen Alias.

Führen Sie den entsprechenden Befehl aus, um Vervollständigungen für Ihre Shell zu laden. Die Anleitung variiert je nach Shell. Verwenden Sie den Befehl help, um eine genaue Anleitung zu erhalten:

# For Bash
codmod completion bash --help

# For Zsh
codmod completion zsh --help

# For Fish
codmod completion fish --help

# For PowerShell
codmod completion powershell --help

Wenn Sie beispielsweise die Bash-Vervollständigung unter Linux laden möchten, können Sie Ihrer ~/.bashrc Folgendes hinzufügen:

source <(codmod completion bash)

Starten Sie die Shell neu oder rufen Sie Ihr Profil auf (z. B. source ~/.bashrc), damit die Änderungen wirksam werden.

Fehlerbehebung

  • Berechtigung verweigert: Wenn der Fehler „Berechtigung verweigert“ auftritt, prüfen Sie, ob Sie der Binärdatei codmod die Ausführungsberechtigung erteilt haben, indem Sie den Befehl chmod +x codmod ausführen.
  • Die Befehlszeile scheint nicht mehr zu reagieren: Die Analyse kann lange dauern, aber Sie können den Fortschritt in der Regel in der Fortschrittsanzeige in der Befehlszeile sehen. Wenn die Fortschrittsanzeige nach 15 Minuten immer noch bei 0 % steht, prüfen Sie, ob Sie genügend Kontingent für das entsprechende Modell haben. Standardmäßig verwendet codmod das Modell gemini-3.8-flash. Dies kann sich jedoch ändern, da verschiedene Modellsets unterschiedliche Modelle für verschiedene Zwecke verwenden.
  • Fehler melden: Wenn ein Fehler untersucht werden muss, erfassen Sie die Debugging-Informationen, um unser Entwicklungsteam zu unterstützen. Logs liefern wichtige Details zur Fehlerbehebung. Führen Sie den folgenden Befehl aus, um die Logs zu erfassen. Komprimieren Sie dann das resultierende Archiv und senden Sie es an das Team unter codmod-feedback-external@google.com.

    codmod collect-logs -o "codmod_logs.zip"
    

Open Source-Lizenzen

Sie können die Open-Source-Hinweise für Abhängigkeiten der aktuellen Version von codmod herunterladen, indem Sie Folgendes ausführen:

version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/THIRD_PARTY_NOTICES.txt"

Support erhalten und Feedback geben

Zur Verbesserung der Qualität dieses Produkts erfassen wir pseudoanonymisierte Nutzungsdaten. Diese Daten werden gemäß unseren Datenschutzhinweisen fürGoogle Cloud verarbeitet. Sie können Ihre Einstellung jederzeit ändern, indem Sie den folgenden Befehl ausführen:

codmod config set disable_usage_reporting true

So erhalten Sie Support und können Feedback geben:

  • Wenn Sie Support für codmod benötigen, klicken Sie im generierten HTML-Bericht auf den Button Support oder senden Sie eine E‑Mail an codmod-feedback-external@google.com.
  • Wenn Sie Feedback zu codmod geben möchten, klicken Sie im generierten HTML-Bericht auf den Button Feedback.