Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano użycie polecenia CLI usługi AppCAT.
Komendy
| Nazwa | Opis |
|---|---|
| appcat analyze | To podpolecenie umożliwia uruchamianie analizy kodu źródłowego w kodzie źródłowym wejściowym lub w pliku binarnym. |
| przekształcenie appcat | To podpolecenie umożliwia konwertowanie reguł XML na YAML. |
| wersja serwera appcat | To polecenie wyświetla wersję narzędzia. |
appcat analyze
Poniższe sekcje zawierają szczegółowy opis dostępnych appcat analyze parametrów wiersza polecenia.
Wymagane parametry
| Parametr | Opis |
|---|---|
--input |
Ścieżka do kodu źródłowego aplikacji lub pliku binarnego do analizy. Użyj listy rozdzielanej przecinkami dla wielu wartości: --input <input1>,<input2>,.... Wartość domyślna to []. |
--output |
Katalog, w którym są przechowywane wyniki analizy. |
Parametry opcjonalne
| Kategoria | Parametr | Opis |
|---|---|---|
| Technologie źródłowe i docelowe | ||
--list-sources |
Wyświetla dostępne technologie źródła migracji. | |
--list-targets |
Wyświetla dostępne technologie docelowe migracji. | |
--list-capabilities |
Wyświetla dostępne możliwości migracji | |
--list-os |
Przedstawia dostępne docelowe systemy operacyjne migracji. | |
--source, -s |
Określa technologie źródłowe do analizy. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --source <source1>,<source2>,.... Użyj argumentu , --list-sources aby wyświetlić listę wszystkich dostępnych źródeł. |
|
--target, -t |
Określa technologie docelowe do analizy. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --target <target1>,<target2>,.... Użyj argumentu , --list-targets aby wyświetlić listę wszystkich dostępnych obiektów docelowych. |
|
--capability, -c |
Określa technologie możliwości analizy. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --capability <capability1>,<capability2>,.... Użyj argumentu , --list-capabilities aby wyświetlić listę wszystkich dostępnych możliwości. |
|
--os |
Określa systemy operacyjne do analizy. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --os <os1>,<os2>,.... Użyj argumentu , --list-os aby wyświetlić listę wszystkich dostępnych systemów operacyjnych. |
|
| Opcje analizy | ||
--analyze-known-libraries |
Umożliwia analizę znanych bibliotek typu open source — określonych w usłudze AppCAT maven.default.index — podczas analizy kodu źródłowego. Wartość domyślna to false. |
|
--custom-maven-settings |
Określa ścieżkę do niestandardowego pliku ustawień programu Maven. | |
--dry-run |
Sprawdza, czy flagi są prawidłowe bez faktycznego uruchomienia analizy. Wartość domyślna to false. |
|
--mode, -m |
Ustawia tryb analizy. Musi być jednym z full - źródło + zależności, aby przeanalizować kod źródłowy i wymienić zależności - lub source-only. Wartość domyślna to full. |
|
--packages |
Określa pakiety klas aplikacji do oceny. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --packages <package1>,<package2>,.... Wartość domyślna to []. |
|
| Opcje reguły | ||
--code-snips-number |
Ogranicza wyświetlaną liczbę zdarzeń z fragmentami kodu w pliku.
0 oznacza brak limitu, więc są wyświetlane wszystkie incydenty z fragmentami kodu w pliku.
-1 oznacza, że nie są wyświetlane fragmenty kodu. Wartość domyślna to 0. |
|
--enable-default-rulesets |
Włącza wykonywanie domyślnych zestawów reguł. Wartość domyślna to true. Użyj polecenia --enable-default-rulesets=false , aby wyłączyć. |
|
--label-selector, -l |
Stosuje reguły na podstawie określonego wyrażenia selektora etykiet — na przykład (konveyor.io/target=azure-aks && konveyor.io/source). |
|
--rules |
Określa pliki reguł lub katalogi. Użyj listy rozdzielanej przecinkami dla wielu wartości — na przykład --rules <rule1>,<rule2>,.... Wartość domyślna to []. |
|
| Ustawienia serwera proxy | ||
--http-proxy |
Definiuje adres URL serwera proxy HTTP do pobierania bibliotek oprogramowania open source (OSS) z repozytorium Maven. | |
--https-proxy |
Definiuje adres URL serwera proxy HTTPS do pobierania bibliotek systemu operacyjnego z repozytorium Maven. | |
--no-proxy |
Określa adresy URL do wykluczenia z użycia serwera proxy podczas pobierania bibliotek systemu operacyjnego z repozytorium Maven. | |
| Formatowanie raportów i danych wyjściowych | ||
--bulk |
Łączy wyniki podczas uruchamiania wielu analyze poleceń zbiorczo. Wartość domyślna to false. |
|
--context-lines-number |
Ustawia liczbę wierszy kodu źródłowego uwzględnionych w danych wyjściowych dla każdego wykrytego zdarzenia. Wartość domyślna to 100. |
|
--incident-selector |
Filtruje zdarzenia na podstawie niestandardowego wyrażenia zmiennej — na przykład (!package=io.konveyor.demo.config-utils). |
|
--output-format |
Wybiera format danych wyjściowych.
yaml lub json. Wartość domyślna to yaml. |
|
--overwrite |
Zastępuje istniejący katalog wyjściowy. Wartość domyślna to false. |
|
--skip-static-report |
Pomija generowanie raportu analizy statycznej. Wartość domyślna to false. |
Obsługiwane źródła
Parametr --list-sources przedstawia następujące technologie źródłowe:
| Nazwa źródła | Opis | Źródło |
|---|---|---|
| Java | Najlepsze rozwiązania dotyczące migrowania aplikacji Java. | java |
| Java EE | Najlepsze rozwiązania dotyczące migrowania technologii Java EE. | java-ee |
| OpenJDK | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK. | openjdk |
| OpenJDK 8 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 8. | openjdk8 |
| OpenJDK 9 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 9. | openjdk9 |
| OpenJDK 10 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 10. | openjdk10 |
| OpenJDK 11 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 11. | openjdk11 |
| OpenJDK 12 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 12. | openjdk12 |
| OpenJDK 13 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 13. | openjdk13 |
| OpenJDK 14 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 14. | openjdk14 |
| OpenJDK 15 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 15. | openjdk15 |
| OpenJDK 16 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 16. | openjdk16 |
| OpenJDK 17 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 17. | openjdk17 |
| OpenJDK 18 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 18. | openjdk18 |
| OpenJDK 19 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 19. | openjdk19 |
| OpenJDK 20 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 20. | openjdk20 |
| OpenJDK 21 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu OpenJDK 21. | openjdk21 |
| Oracle JDK | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu Oracle JDK. | oraclejdk |
| Oracle JDK 7 | Najlepsze rozwiązania dotyczące migrowania aplikacji za pomocą zestawu Oracle JDK 7. | oraclejdk7 |
| RMI | Najlepsze rozwiązania dotyczące migrowania aplikacji Java korzystających z technologii RMI. | rmi |
| zdalne wywołanie procedury | Najlepsze rozwiązania dotyczące migrowania aplikacji Java korzystających z technologii RPC. | rpc |
| Spring 5 | Najlepsze rozwiązania dotyczące migrowania aplikacji korzystających z technologii Spring 5. | spring5 |
| Spring Boot | Najlepsze rozwiązania dotyczące migrowania technologii Spring Boot. | springboot |
| Protokół EAP | Najlepsze rozwiązania dotyczące migrowania aplikacji Java korzystających z technologii JBoss EAP. | eap |
| EAP 7 | Najlepsze rozwiązania dotyczące migrowania aplikacji Java korzystających z technologii JBoss EAP 7. | eap7 |
Obsługiwane obiekty docelowe
Parametr --list-targets przedstawia następujące technologie docelowe:
| Nazwa docelowa | Opis | Cel |
|---|---|---|
| Azure App Service | Najlepsze praktyki dotyczące wdrażania aplikacji w usłudze Azure App Service. | azure-appservice |
| Azure Kubernetes Service | Najlepsze rozwiązania dotyczące wdrażania aplikacji w usłudze Azure Kubernetes Service. | azure-aks |
| Azure Container Apps | Najlepsze rozwiązania dotyczące wdrażania aplikacji w usłudze Azure Container Apps. | azure-container-apps |
Obsługiwane systemy operacyjne
Parametr --list-os przedstawia następujące systemy operacyjne:
| Nazwa systemu operacyjnego | Opis | System operacyjny |
|---|---|---|
| Linux | Najlepsze rozwiązania dotyczące migrowania aplikacji na platformę Linux. | linux |
| Windows | Najlepsze rozwiązania dotyczące migrowania aplikacji na platformę Windows. | windows |
Obsługiwane możliwości
Parametr --list-capabilities przedstawia następujące możliwości:
| Nazwa możliwości | Opis | Capability |
|---|---|---|
| Konteneryzacja | Najlepsze rozwiązania dotyczące konteneryzowania aplikacji. | containerization |
| OpenJDK 11 | Najlepsze rozwiązania dotyczące migracji do zestawu OpenJDK 11. | openjdk11 |
| OpenJDK 17 | Najlepsze rozwiązania dotyczące migracji do zestawu OpenJDK 17. | openjdk17 |
| OpenJDK 21 | Najlepsze rozwiązania dotyczące migracji do zestawu OpenJDK 21. | openjdk21 |
Konfigurowanie ignorowania plików
W ścieżce instalacji CLI AppCAT można skonfigurować plik .appcat-ignore, aby wykluczyć określone foldery lub ścieżki podczas uruchamiania polecenia appcat analyze.
Parametry globalne
| Parametr | Opis |
|---|---|
--disable-telemetry |
Wyłącza telemetrię. |
--log-level |
Ustawia poziom rejestrowania. Wartość domyślna to 4. |
--no-cleanup |
Uniemożliwia czyszczenie zasobów tymczasowych po wykonaniu. |
Przykłady
Analizowanie katalogu kodu źródłowego:
appcat analyze --input <path-to-source> --output <path-to-output> --target <target-name>Analizowanie katalogu kodu źródłowego przy użyciu określonych technologii źródłowych i docelowych:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-appsAnalizowanie katalogu kodu źródłowego przy użyciu dodatkowych reguł niestandardowych:
appcat analyze --input <path-to-source> --output <path-to-output> --rules <path-to-rules> --target <target-name>Analizowanie katalogu kodu źródłowego przy użyciu tylko reguł niestandardowych bez domyślnych zestawów reguł:
appcat analyze \ --input /path/to/source \ --output /path/to/output \ --enable-default-rulesets=false \ --rules /path/to/rules --target azure-aks,azure-appservice,azure-container-appsAnalizuj i dodaj dodatkową analizę aplikacji do istniejącego katalogu wyjściowego i raportu statycznego.
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>Przeanalizuj katalog kodu źródłowego z określonym źródłem, aby połączyć technologie docelowe, możliwości i system operacyjny:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-apps --capability containerization --os windowsParametry
--target,--capabilitiesi-ossą łączone z warunkiem, co oznacza, że reguły muszą być jednocześnie zgodne zANDnastępującymi kryteriami:- Usługa platformy Azure, taka jak
azure-aks,azure-appservicelubazure-container-apps. - Możliwość wykrywania problemów z konteneryzacją.
- Platforma systemu operacyjnego Windows.
- Usługa platformy Azure, taka jak
Przeanalizuj katalog kodu źródłowego i zapamiętaj wykryte wiersze kontekstu z niestandardowymi numerami wierszy.
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --context-lines-number <line-number> --target=<target-name>Poniższy zrzut ekranu przedstawia przykład użycia polecenia
--context-lines-number 3:Ogranicz zawartość raportu bez fragmentów kodu:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --code-snips-number -1 --target=<target-name>Po
--code-snips-number -1ustawieniu fragmenty kodu nie są eksportowane do raportu. To zachowanie pomaga zapobiec dołączaniu poufnych danych.Możesz również sprawdzić właściwość
metadata.privacyModewreport.json.PrivacyModewartości:- Bez ograniczeń — raport zawiera fragmenty kodu.
- Ograniczone — raport nie zawiera fragmentów kodu.
przekształcenie appcat
Konwertuje reguły XML Windup na YAML.
Wymagane parametry
| Parametr | Opis |
|---|---|
--rules |
Konwertuje reguły XML na YAML. |
Parametry globalne
| Parametr | Opis |
|---|---|
--disable-telemetry |
Wyłącza telemetrię |
--log-level |
Ustawia poziom rejestrowania. Wartość domyślna to 4. |
--no-cleanup |
Uniemożliwia czyszczenie zasobów tymczasowych po wykonaniu. |
Przykłady
Poniższy przykład konwertuje regułę XML windup na YAML:
appcat transform rules --input <path-to-rule> --output <path-to-output-folder> --target=<target-name>
wersja appcat
Drukuje wersję narzędzia.
appcat version