Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Verwendung des AppCAT CLI-Befehls beschrieben.
Befehle
| Name | BESCHREIBUNG |
|---|---|
| Appcat-Analyse | Dieser Unterbefehl ermöglicht das Ausführen der Quellcodeanalyse für Eingabequellcode oder für eine Binärdatei. |
| Appcat-Transformierung | Dieser Unterbefehl ermöglicht das Konvertieren von XML-Regeln in YAML. |
| AppCat-Version | Dieser Unterbefehl druckt die Toolversion. |
Appcat-Analyse
Die folgenden Abschnitte enthalten eine detaillierte Beschreibung der verfügbaren appcat analyze Befehlszeilenparameter.
Erforderliche Parameter
| Parameter | BESCHREIBUNG |
|---|---|
--input |
Der Pfad zum Anwendungsquellcode oder eine Binärdatei für die Analyse. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte: --input <input1>,<input2>,.... Der Standardwert ist []. |
--output |
Das Verzeichnis, in dem die Analyseergebnisse gespeichert werden. |
Optionale Parameter
| Kategorie | Parameter | BESCHREIBUNG |
|---|---|---|
| Quell- und Zieltechnologien | ||
--list-sources |
Zeigt die verfügbaren Migrationsquellentechnologien an. | |
--list-targets |
Zeigt die verfügbaren Migrationszieltechnologien an. | |
--list-capabilities |
Zeigt die verfügbaren Migrationsfunktionen an. | |
--list-os |
Zeigt die verfügbaren Migrationszielbetriebssysteme an. | |
--source, -s |
Gibt die Quelltechnologien für die Analyse an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --source <source1>,<source2>,...z. B. . Verwenden Sie das --list-sources Argument, um alle verfügbaren Quellen auflisten. |
|
--target, -t |
Gibt die Zieltechnologien für die Analyse an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --target <target1>,<target2>,...z. B. . Verwenden Sie das --list-targets Argument, um alle verfügbaren Ziele auflisten. |
|
--capability, -c |
Gibt Fähigkeitstechnologien für die Analyse an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --capability <capability1>,<capability2>,...z. B. . Verwenden Sie das --list-capabilities Argument, um alle verfügbaren Funktionen auflisten. |
|
--os |
Gibt Betriebssysteme für die Analyse an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --os <os1>,<os2>,...z. B. . Verwenden Sie das --list-os Argument, um alle verfügbaren Betriebssysteme auflisten. |
|
| Analyseoptionen | ||
--analyze-known-libraries |
Ermöglicht die Analyse bekannter Open-Source-Bibliotheken , die in AppCAT maven.default.index angegeben sind, während der Quellcodeanalyse. Der Standardwert ist false. |
|
--custom-maven-settings |
Gibt den Pfad zu einer benutzerdefinierten Maven-Einstellungsdatei an. | |
--dry-run |
Überprüft, ob die Flags gültig sind, ohne die Analyse tatsächlich auszuführen. Der Standardwert ist false. |
|
--mode, -m |
Legt den Analysemodus fest. Muss entweder full - Quelle + Abhängigkeiten sein, um den Quellcode zu analysieren und Abhängigkeiten aufzulisten - oder source-only. Der Standardwert ist full. |
|
--packages |
Gibt die zu bewertenden Anwendungsklassenpakete an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --packages <package1>,<package2>,...z. B. . Der Standardwert ist []. |
|
| Regeloptionen | ||
--code-snips-number |
Beschränkt die angezeigte Anzahl von Vorfällen mit Codeausschnitten in einer Datei.
0 bedeutet keine Beschränkung, sodass alle Vorfälle mit Codeausschnitten in einer Datei angezeigt werden.
-1 bedeutet, dass keine Codeausschnitte angezeigt werden. Der Standardwert ist 0. |
|
--enable-default-rulesets |
Ermöglicht die Ausführung von Standardregelsätzen. Der Standardwert ist true. Verwenden Sie --enable-default-rulesets=false, um zu deaktivieren. |
|
--label-selector, -l |
Wendet Regeln basierend auf einem angegebenen Label-Selektor-Ausdruck an, z. B. (konveyor.io/target=azure-aks && konveyor.io/source). |
|
--rules |
Gibt Regeldateien oder Verzeichnisse an. Verwenden Sie eine durch Trennzeichen getrennte Liste für mehrere Werte , --rules <rule1>,<rule2>,...z. B. . Der Standardwert ist []. |
|
| Proxyeinstellungen | ||
--http-proxy |
Definiert eine HTTP-Proxy-URL zum Herunterladen von Open-Source-Softwarebibliotheken (OSS) aus dem Maven-Repository. | |
--https-proxy |
Definiert eine HTTPS-Proxy-URL zum Herunterladen von OSS-Bibliotheken aus dem Maven-Repository. | |
--no-proxy |
Gibt URLs an, die beim Herunterladen von OSS-Bibliotheken aus dem Maven-Repository von der Proxyverwendung ausgeschlossen werden sollen. | |
| Berichts- und Ausgabeformatierung | ||
--bulk |
Kombiniert Ergebnisse beim Ausführen von mehreren analyze Befehlen in einem Massenprozess. Der Standardwert ist false. |
|
--context-lines-number |
Legt die Anzahl der Quellcodezeilen fest, die in der Ausgabe für jeden erkannten Vorfall enthalten sind. Der Standardwert ist 100. |
|
--incident-selector |
Filtert Vorfälle basierend auf einem benutzerdefinierten Variablenausdruck, z. B. (!package=io.konveyor.demo.config-utils). |
|
--output-format |
Wählt das Ausgabeformat aus. Entweder yaml oder json. Der Standardwert ist yaml. |
|
--overwrite |
Überschreibt das vorhandene Ausgabeverzeichnis. Der Standardwert ist false. |
|
--skip-static-report |
Überspringt das Generieren eines statischen Analyseberichts. Der Standardwert ist false. |
Unterstützte Quellen
Der --list-sources Parameter zeigt die folgenden Quelltechnologien:
| Quellname | BESCHREIBUNG | Quelle |
|---|---|---|
| Java | Bewährte Methoden für die Migration von Java-Anwendungen. | java |
| Java EE | Bewährte Methoden für die Migration der Java EE-Technologie. | java-ee |
| OpenJDK | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK. | openjdk |
| OpenJDK 8 | Bewährte Methoden für die Migration von Anwendungen mit OpenJDK 8. | openjdk8 |
| OpenJDK 9 | Bewährte Methoden für die Migration von Anwendungen mit OpenJDK 9. | openjdk9 |
| OpenJDK 10 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 10. | openjdk10 |
| OpenJDK 11 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 11. | openjdk11 |
| OpenJDK 12 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 12. | openjdk12 |
| OpenJDK 13 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 13. | openjdk13 |
| OpenJDK 14 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 14. | openjdk14 |
| OpenJDK 15 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 15. | openjdk15 |
| OpenJDK 16 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 16. | openjdk16 |
| OpenJDK 17 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 17. | openjdk17 |
| OpenJDK 18 | Bewährte Methoden für die Migration von Anwendungen mit OpenJDK 18. | openjdk18 |
| OpenJDK 19 | Bewährte Methoden für die Migration von Anwendungen mit OpenJDK 19. | openjdk19 |
| OpenJDK 20 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 20. | openjdk20 |
| OpenJDK 21 | Bewährte Methoden zum Migrieren von Anwendungen mit OpenJDK 21. | openjdk21 |
| Oracle JDK | Bewährte Methoden für die Migration von Anwendungen mit Oracle JDK. | oraclejdk |
| Oracle JDK 7 | Bewährte Methoden für die Migration von Anwendungen mit Oracle JDK 7. | oraclejdk7 |
| RMI | Bewährte Methoden zum Migrieren von Java-Anwendungen, die RMI-Technologie verwenden. | rmi |
| RPC | Bewährte Methoden zum Migrieren von Java-Anwendungen, die RPC-Technologie verwenden. | rpc |
| Frühling 5 | Bewährte Methoden für die Migration von Anwendungen, die Spring 5-Technologie verwenden. | spring5 |
| Spring Boot | Bewährte Methoden für die Migration der Spring Boot-Technologie. | springboot |
| EAP | Bewährte Methoden zum Migrieren von Java-Anwendungen, die JBoss EAP-Technologie verwenden. | eap |
| EAP 7 | Bewährte Methoden zum Migrieren von Java-Anwendungen, die JBoss EAP 7-Technologie verwenden. | eap7 |
Unterstützte Ziele
Der --list-targets Parameter zeigt die folgenden Zieltechnologien:
| Zielname | BESCHREIBUNG | Ziel |
|---|---|---|
| Azure App Service | Best Practices für die Bereitstellung einer App in Azure App Service | azure-appservice |
| Azure Kubernetes-Dienst | Best Practices für die Bereitstellung einer App in Azure Kubernetes Service | azure-aks |
| Azure Container Apps – ein Dienst für containerbasierte Anwendungen | Best Practices für die Bereitstellung einer App in Azure Container Apps | azure-container-apps |
Unterstützte Betriebssysteme
Der --list-os Parameter zeigt die folgenden Betriebssysteme:
| Betriebssystemname | BESCHREIBUNG | OS |
|---|---|---|
| Linux | Bewährte Methoden zum Migrieren von Anwendungen zur Linux-Plattform. | linux |
| Fenster | Bewährte Methoden zum Migrieren von Anwendungen zur Windows-Plattform. | windows |
Unterstützte Funktionen
Der --list-capabilities Parameter zeigt die folgenden Funktionen:
| Funktionsname | BESCHREIBUNG | Fähigkeit |
|---|---|---|
| Containerisierung | Bewährte Methoden für die Containerisierung von Anwendungen. | containerization |
| OpenJDK 11 | Bewährte Methoden für die Migration zu OpenJDK 11. | openjdk11 |
| OpenJDK 17 | Bewährte Methoden für die Migration zu OpenJDK 17. | openjdk17 |
| OpenJDK 21 | Bewährte Methoden für die Migration zu OpenJDK 21. | openjdk21 |
Konfigurieren von Ignorieren von Dateien
Im AppCAT CLI-Installationspfad können Sie die APPCAT-Ignore-Datei so konfigurieren, dass angegebene Ordner oder Pfade beim Ausführen des appcat analyze Befehls ausgeschlossen werden.
Globale Parameter
| Parameter | BESCHREIBUNG |
|---|---|
--disable-telemetry |
Deaktiviert Telemetrie. |
--log-level |
Legt die Protokollierungsstufe fest. Der Standardwert ist 4. |
--no-cleanup |
Verhindert die Bereinigung temporärer Ressourcen nach der Ausführung. |
Beispiele
Analysieren eines Quellcodeverzeichnisses:
appcat analyze --input <path-to-source> --output <path-to-output>Analysieren Sie ein Quellcodeverzeichnis mit bestimmten Quell- und Zieltechnologien:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-appsAnalysieren Sie ein Quellcodeverzeichnis mit zusätzlichen benutzerdefinierten Regeln:
appcat analyze --input <path-to-source> --output <path-to-output> --rules <path-to-rules>Analysieren Sie ein Quellcodeverzeichnis nur mit benutzerdefinierten Regeln, ohne Standardregeln:
appcat analyze \ --input /path/to/source \ --output /path/to/output \ --enable-default-rulesets=false \ --rules /path/to/rulesAnalysieren und Hinzufügen weiterer Anwendungsanalysen zu einem vorhandenen Ausgabeverzeichnis und statischen Bericht:
appcat analyze \ --input=<path-to-source-A>,<path-to-source-B>,<path-to-source-C> \ --output=<path-to-output-ABC> \ --target=<target-name> appcat analyze --bulk \ --input=<path-to-source-D> \ --output=<path-to-output-ABC> \ --target=<target-name> appcat analyze \ --bulk \ --input=<path-to-source-E> \ --output=<path-to-output-ABC> \ --target=<target-name>Analysieren Sie ein Quellcodeverzeichnis mit einer bestimmten Quelle, um Zieltechnologien, Funktionen und Betriebssystem zu kombinieren:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-apps --capability containerization --os windowsDie
--target,--capabilitiesund-osdie Parameter werden mit einerANDBedingung kombiniert, d. h., dass die Regeln gleichzeitig den folgenden Kriterien entsprechen müssen:- Ein Azure-Dienst wie
azure-aks,azure-appserviceoderazure-container-apps. - Die Funktion zum Erkennen von Containerisierungsproblemen.
- Die Windows-Betriebssystemplattform.
- Ein Azure-Dienst wie
Analysieren Sie ein Quellcodeverzeichnis, und behalten Sie die erkannten Kontextzeilen mit benutzerdefinierten Zeilennummern bei:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --context-lines-number <line-number>Der folgende Screenshot zeigt ein Beispiel für die Verwendung von
--context-lines-number 3:Einschränken von Berichtsinhalten ohne Codeausschnitte:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --code-snips-number -1Wenn
--code-snips-number -1festgelegt ist, werden Codeausschnitte nicht in den Bericht exportiert. Dieses Verhalten verhindert, dass vertrauliche Daten einbezogen werden.Sie können die
metadata.privacyModeEigenschaft auch inreport.jsonüberprüfen.PrivacyMode-Werte:- Uneingeschränkt – der Bericht enthält Codeausschnitte.
- Eingeschränkt – der Bericht enthält keine Codeausschnitte.
Appcat-Umwandlung
Konvertiert Windup-XML-Regeln in YAML.
Erforderliche Parameter
| Parameter | BESCHREIBUNG |
|---|---|
--rules |
Konvertiert XML-Regeln in YAML. |
Globale Parameter
| Parameter | BESCHREIBUNG |
|---|---|
--disable-telemetry |
Deaktiviert Telemetrie |
--log-level |
Legt die Protokollierungsstufe fest. Der Standardwert ist 4. |
--no-cleanup |
Verhindert die Bereinigung temporärer Ressourcen nach der Ausführung. |
Beispiele
Im folgenden Beispiel wird eine XML-Regel von Windup nach YAML konvertiert.
appcat transform rules --input <path-to-rule> --output <path-to-output-folder>
AppCat-Version
Druckt die Toolversion.
appcat version