Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit l’utilisation de la commande CLI AppCAT.
Commandes
| Nom | Descriptif |
|---|---|
| appcat analyse | Cette sous-commande permet d’exécuter l’analyse du code source sur le code source d’entrée ou sur un binaire. |
| appcat transformation | Cette sous-commande permet de convertir des règles XML en YAML. |
| version de l'appcat | Cette sous-commande imprime la version de l’outil. |
analyser appcat
Les sections suivantes fournissent une description détaillée des paramètres de ligne de commande disponibles appcat analyze .
Paramètres obligatoires
| Paramètre | Descriptif |
|---|---|
--input |
Chemin d’accès au code source de l’application ou à un fichier binaire pour l’analyse. Utilisez une liste séparée par des virgules pour plusieurs valeurs : --input <input1>,<input2>,.... La valeur par défaut est []. |
--output |
Répertoire dans lequel les résultats de l’analyse sont stockés. |
Paramètres facultatifs
| Catégorie | Paramètre | Descriptif |
|---|---|---|
| Technologies sources et cibles | ||
--list-sources |
Affiche les technologies sources de migration disponibles. | |
--list-targets |
Affiche les technologies cibles de migration disponibles. | |
--list-capabilities |
Affiche les fonctionnalités de migration disponibles | |
--list-os |
Affiche les systèmes d’exploitation cibles de migration disponibles. | |
--source, -s |
Spécifie les technologies sources pour l’analyse. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --source <source1>,<source2>,... Utilisez l’argument --list-sources pour répertorier toutes les sources disponibles. |
|
--target, -t |
Spécifie les technologies cibles à analyser. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --target <target1>,<target2>,... Utilisez l’argument --list-targets pour répertorier toutes les cibles disponibles. |
|
--capability, -c |
Spécifie les technologies de capacité pour l’analyse. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --capability <capability1>,<capability2>,... Utilisez l’argument --list-capabilities pour répertorier toutes les fonctionnalités disponibles. |
|
--os |
Spécifie les systèmes d’exploitation pour l’analyse. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --os <os1>,<os2>,... Utilisez l’argument --list-os pour répertorier tous les systèmes d’exploitation disponibles. |
|
| Options d’analyse | ||
--analyze-known-libraries |
Active l’analyse des bibliothèques open source connues , spécifiées dans AppCAT, pendant l’analyse maven.default.index du code source. La valeur par défaut est false. |
|
--custom-maven-settings |
Spécifie le chemin d’accès à un fichier de paramètres Maven personnalisé. | |
--dry-run |
Vérifie si les indicateurs sont valides sans exécuter réellement l’analyse. La valeur par défaut est false. |
|
--mode, -m |
Définit le mode d’analyse. Doit correspondre à l’une des valeurs suivantes : full – la source + dépendances pour analyser le code source et lister les dépendances – ou source-only. La valeur par défaut est full. |
|
--packages |
Spécifie les packages de classe d’application à évaluer. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --packages <package1>,<package2>,... La valeur par défaut est []. |
|
| Options de règle | ||
--code-snips-number |
Limite le nombre d’incidents affichés avec des extraits de code dans un fichier.
0 signifie qu'il n'y a pas de limite, tous les incidents contenant des extraits de code dans un fichier sont affichés.
-1 signifie qu’aucun extrait de code n’est affiché. La valeur par défaut est 0. |
|
--enable-default-rulesets |
Active l’exécution des ensembles de règles par défaut. La valeur par défaut est true. Utilisez --enable-default-rulesets=false pour désactiver. |
|
--label-selector, -l |
Applique des règles basées sur une expression de sélecteur d’étiquette spécifiée , par exemple. (konveyor.io/target=azure-aks && konveyor.io/source) |
|
--rules |
Spécifie les fichiers de règle ou les répertoires. Utilisez une liste séparée par des virgules pour plusieurs valeurs , par exemple. --rules <rule1>,<rule2>,... La valeur par défaut est []. |
|
| Paramètres du proxy | ||
--http-proxy |
Définit une URL de proxy HTTP pour télécharger des bibliothèques de logiciels open source (OSS) à partir du référentiel Maven. | |
--https-proxy |
Définit une URL de proxy HTTPS pour télécharger des bibliothèques OSS à partir du référentiel Maven. | |
--no-proxy |
Spécifie les URL à exclure de l’utilisation du proxy lors du téléchargement des bibliothèques OSS à partir du référentiel Maven. | |
| Mise en forme de rapport et de sortie | ||
--bulk |
Combine les résultats lors de l’exécution de plusieurs analyze commandes en bloc. La valeur par défaut est false. |
|
--context-lines-number |
Définit le nombre de lignes de code source incluses dans la sortie pour chaque incident détecté. La valeur par défaut est 100. |
|
--incident-selector |
Filtre les incidents basés sur une expression de variable personnalisée , par exemple (!package=io.konveyor.demo.config-utils). |
|
--output-format |
Choisit le format de sortie.
yaml ou json. La valeur par défaut est yaml. |
|
--overwrite |
Remplace le répertoire de sortie existant. La valeur par défaut est false. |
|
--skip-static-report |
Ignore la génération d’un rapport d’analyse statique. La valeur par défaut est false. |
Sources prises en charge
Le --list-sources paramètre affiche les technologies sources suivantes :
| Nom de la source | Descriptif | Origine |
|---|---|---|
| Java | Bonnes pratiques pour la migration d’applications Java. | java |
| Java EE | Meilleures pratiques pour la migration de la technologie Java EE. | java-ee |
| OpenJDK | Bonnes pratiques pour la migration d’applications avec OpenJDK. | openjdk |
| OpenJDK 8 | Meilleures pratiques pour la migration d’applications avec OpenJDK 8. | openjdk8 |
| OpenJDK 9 | Meilleures pratiques pour la migration d’applications avec OpenJDK 9. | openjdk9 |
| OpenJDK 10 | Meilleures pratiques pour la migration d’applications avec OpenJDK 10. | openjdk10 |
| OpenJDK 11 | Meilleures pratiques pour la migration d’applications avec OpenJDK 11. | openjdk11 |
| OpenJDK 12 | Meilleures pratiques pour la migration d’applications avec OpenJDK 12. | openjdk12 |
| OpenJDK 13 | Bonnes pratiques pour la migration d’applications avec OpenJDK 13. | openjdk13 |
| OpenJDK 14 | Meilleures pratiques pour la migration d’applications avec OpenJDK 14. | openjdk14 |
| OpenJDK 15 | Bonnes pratiques pour la migration d’applications avec OpenJDK 15. | openjdk15 |
| OpenJDK 16 | Meilleures pratiques pour la migration d’applications avec OpenJDK 16. | openjdk16 |
| OpenJDK 17 | Bonnes pratiques pour la migration d’applications avec OpenJDK 17. | openjdk17 |
| OpenJDK 18 | Meilleures pratiques pour la migration d’applications avec OpenJDK 18. | openjdk18 |
| OpenJDK 19 | Bonnes pratiques pour la migration d’applications avec OpenJDK 19. | openjdk19 |
| OpenJDK 20 | Bonnes pratiques pour la migration d’applications avec OpenJDK 20. | openjdk20 |
| OpenJDK 21 | Bonnes pratiques pour la migration d’applications avec OpenJDK 21. | openjdk21 |
| Oracle JDK | Meilleures pratiques pour la migration d’applications avec Le JDK Oracle. | oraclejdk |
| Oracle JDK 7 | Meilleures pratiques pour la migration d’applications avec Oracle JDK 7. | oraclejdk7 |
| RMI | Meilleures pratiques pour la migration d’applications Java qui utilisent la technologie RMI. | rmi |
| RPC | Meilleures pratiques pour la migration d’applications Java qui utilisent la technologie RPC. | rpc |
| Printemps 5 | Meilleures pratiques pour la migration d’applications qui utilisent la technologie Spring 5. | spring5 |
| Spring Boot | Bonnes pratiques pour la migration de la technologie Spring Boot. | springboot |
| EAP (Protocole d'authentification extensible) | Meilleures pratiques pour la migration d’applications Java qui utilisent la technologie JBoss EAP. | eap |
| EAP 7 | Meilleures pratiques pour la migration d’applications Java qui utilisent la technologie JBoss EAP 7. | eap7 |
Cibles prises en charge
Le --list-targets paramètre affiche les technologies cibles suivantes :
| Nom de la cible | Descriptif | Cible |
|---|---|---|
| Azure App Service | Meilleures pratiques de déploiement d’une application sur Azure App Service. | azure-appservice |
| Azure Kubernetes Service | Meilleures pratiques de déploiement d’une application sur Azure Kubernetes Service. | azure-aks |
| Azure Container Apps (Applications de Conteneur Azure) | Meilleures pratiques de déploiement d’une application sur Azure Container Apps. | azure-container-apps |
Systèmes d'exploitation pris en charge
Le --list-os paramètre affiche les systèmes d’exploitation suivants :
| Nom du système d’exploitation | Descriptif | Système d'exploitation |
|---|---|---|
| Linux | Bonnes pratiques pour la migration d’applications vers la plateforme Linux. | linux |
| Fenêtres | Bonnes pratiques pour la migration d’applications vers la plateforme Windows. | windows |
Fonctionnalités prises en charge
Le --list-capabilities paramètre affiche les fonctionnalités suivantes :
| Nom de fonctionnalité | Descriptif | Capacité |
|---|---|---|
| Mise en conteneur | Meilleures pratiques pour la conteneurisation d’applications. | containerization |
| OpenJDK 11 | Bonnes pratiques pour la migration vers OpenJDK 11. | openjdk11 |
| OpenJDK 17 | Bonnes pratiques pour la migration vers OpenJDK 17. | openjdk17 |
| OpenJDK 21 | Meilleures pratiques pour la migration vers OpenJDK 21. | openjdk21 |
Configurer les fichiers ignorés
Dans le chemin d’installation de l’interface CLI AppCAT, vous pouvez configurer le fichier .appcat-ignore pour exclure les dossiers ou chemins spécifiés lors de l’exécution de la appcat analyze commande.
Paramètres globaux
| Paramètre | Descriptif |
|---|---|
--disable-telemetry |
Désactive la télémétrie. |
--log-level |
Définit le niveau de journalisation. La valeur par défaut est 4. |
--no-cleanup |
Empêche le nettoyage des ressources temporaires après l’exécution. |
Exemples
Analysez un répertoire de code source :
appcat analyze --input <path-to-source> --output <path-to-output> --target <target-name>Analysez un répertoire de code source avec des technologies sources et cibles spécifiques :
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-appsAnalysez un répertoire de code source avec des règles personnalisées supplémentaires :
appcat analyze --input <path-to-source> --output <path-to-output> --rules <path-to-rules> --target <target-name>Analysez un répertoire de code source à l’aide de règles personnalisées uniquement, sans ensembles de règles par défaut :
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-appsAnalysez et ajoutez d’autres analyses d’application à un répertoire de sortie existant et à un rapport statique :
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>Analysez un répertoire de code source avec une source spécifique pour combiner les technologies cibles, les fonctionnalités et le système d’exploitation :
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-apps --capability containerization --os windowsLes paramètres
--target,--capabilitieset-ossont combinés avec une conditionAND, ce qui signifie que les règles doivent simultanément correspondre aux critères suivants :- Un service Azure tel que
azure-aks,azure-appserviceouazure-container-apps. - Capacité à détecter les problèmes de conteneurisation.
- Plateforme du système d’exploitation Windows.
- Un service Azure tel que
Analysez un répertoire de code source et conservez les lignes de contexte détectées avec des numéros de ligne personnalisés :
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --context-lines-number <line-number> --target=<target-name>La capture d’écran suivante montre un exemple d’utilisation
--context-lines-number 3:Restreindre le contenu du rapport sans extraits de code :
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --code-snips-number -1 --target=<target-name>Quand
--code-snips-number -1elle est définie, les extraits de code ne sont pas exportés vers le rapport. Ce comportement permet d’empêcher l’inclusion de données sensibles.Vous pouvez également vérifier la
metadata.privacyModepropriété dansreport.json.PrivacyModevaleurs :- Sans restriction : le rapport inclut des extraits de code.
- Restreint : le rapport n’inclut pas d’extraits de code.
transformer appcat
Convertit les règles XML Windup en YAML.
Paramètres obligatoires
| Paramètre | Descriptif |
|---|---|
--rules |
Convertit les règles XML en YAML. |
Paramètres globaux
| Paramètre | Descriptif |
|---|---|
--disable-telemetry |
Désactive la télémétrie |
--log-level |
Définit le niveau de journalisation. La valeur par défaut est 4. |
--no-cleanup |
Empêche le nettoyage des ressources temporaires après l’exécution. |
Exemples
L’exemple suivant convertit une règle XML windup en YAML :
appcat transform rules --input <path-to-rule> --output <path-to-output-folder> --target=<target-name>
version appcat
Imprime la version de l’outil.
appcat version