Dela via


CLI-kommandoguide för AppCAT 7

Den här artikeln beskriver appCAT CLI-kommandoanvändningen.

Kommandon

Namn Beskrivning
appcat analysera Med den här underkommandot kan du köra källkodsanalys på indatakällans kod eller på en binär fil.
appcat-transform Den här underkommandot gör det möjligt att konvertera XML-regler till YAML.
appcat-version Den här underkommandot skriver ut verktygsversionen.

AppCat analysera

Följande avsnitt innehåller en detaljerad beskrivning av de tillgängliga appcat analyze kommandoradsparametrarna.

Obligatoriska parametrar

Parameter Beskrivning
--input Sökvägen till programmets källkod eller en binär fil för analys. Använd en kommaavgränsad lista för flera värden: --input <input1>,<input2>,.... Standardvärdet är [].
--output Katalogen där analysresultaten lagras.

Valfria parametrar

Kategori Parameter Beskrivning
Käll- och målteknologier
--list-sources Visar tillgängliga tekniker för migreringskällan.
--list-targets Visar tillgängliga målteknologier för migrering.
--list-capabilities Visar tillgängliga migreringsfunktioner
--list-os Visar tillgängliga operativsystem för migreringsmål.
--source, -s Anger källteknikerna för analys. Använd en kommaavgränsad lista för flera värden , till exempel --source <source1>,<source2>,.... --list-sources Använd argumentet för att lista alla tillgängliga källor.
--target, -t Anger målteknikerna för analys. Använd en kommaavgränsad lista för flera värden , till exempel --target <target1>,<target2>,.... --list-targets Använd argumentet för att lista alla tillgängliga mål.
--capability, -c Anger kapacitetstekniker för analys. Använd en kommaavgränsad lista för flera värden , till exempel --capability <capability1>,<capability2>,.... --list-capabilities Använd argumentet för att lista alla tillgängliga funktioner.
--os Anger operativsystem för analys. Använd en kommaavgränsad lista för flera värden , till exempel --os <os1>,<os2>,.... --list-os Använd argumentet för att visa en lista över alla tillgängliga operativsystem.
Analysalternativ
--analyze-known-libraries Möjliggör analys av kända bibliotek med öppen källkod – som anges i AppCAT:s – under källkodsanalysen maven.default.index . Standardvärdet är false.
--custom-maven-settings Anger sökvägen till en anpassad Maven-inställningsfil.
--dry-run Kontrollerar om flaggorna är giltiga utan att faktiskt köra analysen. Standardvärdet är false.
--mode, -m Anger analysläget. Måste vara ett av full - källa + beroenden, för att analysera källkoden och lista beroenden - eller source-only. Standardvärdet är full.
--packages Anger de programklasspaket som ska utvärderas. Använd en kommaavgränsad lista för flera värden , till exempel --packages <package1>,<package2>,.... Standardvärdet är [].
Regelalternativ
--code-snips-number Begränsar det visade antalet incidenter med kodfragment i en fil. 0 innebär ingen gräns, så alla incidenter med kodfragment i en fil visas. -1 innebär att inga kodfragment visas. Standardvärdet är 0.
--enable-default-rulesets Möjliggör körning av standardregleruppsättningar. Standardvärdet är true. Använd --enable-default-rulesets=false för att inaktivera.
--label-selector, -l Tillämpar regler baserat på ett angivet etikettväljareuttryck – till exempel (konveyor.io/target=azure-aks && konveyor.io/source).
--rules Anger regelfiler eller kataloger. Använd en kommaavgränsad lista för flera värden , till exempel --rules <rule1>,<rule2>,.... Standardvärdet är [].
Proxyinställningar
--http-proxy Definierar en HTTP-proxy-URL för nedladdning av bibliotek med öppen källkod (OSS) från Maven-repositoriet.
--https-proxy Definierar en HTTPS-proxy-URL för nedladdning av OSS-bibliotek från Maven-lagringsplatsen.
--no-proxy Anger URL:er som ska undantas från proxyanvändning vid nedladdning av OSS-bibliotek från Maven-lagringsplatsen.
Rapport- och utdataformatering
--bulk Kombinerar resultat när man kör flera analyze kommandon samtidigt. Standardvärdet är false.
--context-lines-number Anger antalet källkodsrader som ingår i utdata för varje identifierad incident. Standardvärdet är 100.
--incident-selector Filtrerar incidenter baserat på ett anpassat variabeluttryck – till exempel (!package=io.konveyor.demo.config-utils).
--output-format Väljer utdataformatet. Antingen yaml eller json. Standardvärdet är yaml.
--overwrite Skriver över den befintliga utdatakatalogen. Standardvärdet är false.
--skip-static-report Hoppar över att generera en statisk analysrapport. Standardvärdet är false.
Källor som stöds

Parametern --list-sources visar följande källtekniker:

Källnamn Beskrivning Källa
Java Metodtips för migrering av Java-program. java
Java EE Metodtips för migrering av Java EE-teknik. java-ee
OpenJDK Metodtips för att migrera program med OpenJDK. openjdk
OpenJDK 8 Metodtips för att migrera program med OpenJDK 8. openjdk8
OpenJDK 9 Metodtips för att migrera program med OpenJDK 9. openjdk9
OpenJDK 10 Metodtips för att migrera program med OpenJDK 10. openjdk10
OpenJDK 11 Metodtips för att migrera program med OpenJDK 11. openjdk11
OpenJDK 12 Metodtips för att migrera program med OpenJDK 12. openjdk12
OpenJDK 13 Metodtips för att migrera program med OpenJDK 13. openjdk13
OpenJDK 14 Metodtips för att migrera program med OpenJDK 14. openjdk14
OpenJDK 15 Metodtips för att migrera program med OpenJDK 15. openjdk15
OpenJDK 16 Metodtips för att migrera program med OpenJDK 16. openjdk16
OpenJDK 17 Metodtips för att migrera program med OpenJDK 17. openjdk17
OpenJDK 18 Metodtips för att migrera program med OpenJDK 18. openjdk18
OpenJDK 19 Metodtips för att migrera program med OpenJDK 19. openjdk19
OpenJDK 20 Metodtips för att migrera program med OpenJDK 20. openjdk20
OpenJDK 21 Metodtips för att migrera program med OpenJDK 21. openjdk21
Oracle JDK Metodtips för migrering av program med Oracle JDK. oraclejdk
Oracle JDK 7 Metodtips för migrering av program med Oracle JDK 7. oraclejdk7
RMI Metodtips för migrering av Java-program som använder RMI-teknik. rmi
Fjärrprocedureanrop (RPC) Metodtips för att migrera Java-program som använder RPC-teknik. rpc
Spring 5 Metodtips för migrering av program som använder Spring 5-teknik. spring5
Spring Boot Metodtips för migrering av Spring Boot-teknik. springboot
Medarbetarstödsprogram (EAP) Metodtips för migrering av Java-program som använder JBoss EAP-teknik. eap
EAP 7 Metodtips för migrering av Java-program som använder JBoss EAP 7-teknik. eap7
Mål som stöds

Parametern --list-targets visar följande måltekniker:

Målnamn Beskrivning Mål
Azure App Service Metodtips för att distribuera en app till Azure App Service. azure-appservice
Azure Kubernetes Service Metodtips för att distribuera en app till Azure Kubernetes Service. azure-aks
Azure Container-applikationer Metodtips för att distribuera en app till Azure Container Apps. azure-container-apps
Operativsystem som stöds

Parametern --list-os visar följande operativsystem:

Operativsystemets namn Beskrivning OS
Linux Metodtips för att migrera program till Linux-plattformen. linux
Windows Metodtips för att migrera program till Windows-plattformen. windows
Funktioner som stöds

Parametern --list-capabilities visar följande funktioner:

Kapacitetsnamn Beskrivning Capability
Containerisering Metodtips för containerisering av program. containerization
OpenJDK 11 Metodtips för migrering till OpenJDK 11. openjdk11
OpenJDK 17 Metodtips för migrering till OpenJDK 17. openjdk17
OpenJDK 21 Metodtips för migrering till OpenJDK 21. openjdk21
Konfigurera ignorera filer

I installationssökvägen för AppCAT CLI kan du konfigurera .appcat-ignore-filen för att undanta angivna mappar eller sökvägar när du kör appcat analyze kommandot.

Globala parametrar

Parameter Beskrivning
--disable-telemetry Inaktiverar telemetri.
--log-level Anger loggnivån. Standardvärdet är 4.
--no-cleanup Förhindrar rensning av tillfälliga resurser efter genomförande.

Exempel

  • Analysera en källkodskatalog:

    appcat analyze --input <path-to-source> --output <path-to-output> --target <target-name>
    
  • Analysera en källkodskatalog med specifika käll- och måltekniker:

    appcat analyze \
        --input <path-to-source> \
        --output <path-to-output> \
        --source springboot \
        --target azure-aks,azure-appservice,azure-container-apps
    
  • Analysera en källkodskatalog med extra anpassade regler:

    appcat analyze --input <path-to-source> --output <path-to-output> --rules <path-to-rules> --target <target-name>
    
  • Analysera en källkodskatalog med endast anpassade regler, utan standardregleruppsättningar:

    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-apps
    
  • Analysera och lägga till mer programanalys i en befintlig utdatakatalog och statisk rapport:

    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>
    
  • Analysera en källkodskatalog med en specifik källa för att kombinera måltekniker, funktioner och operativsystem:

    appcat analyze \
        --input <path-to-source> \
        --output <path-to-output> \
        --source springboot \
        --target azure-aks,azure-appservice,azure-container-apps
        --capability containerization
        --os windows
    

    Parametrarna --target, --capabilitiesoch -os kombineras med ett AND villkor, vilket innebär att reglerna måste matcha följande villkor samtidigt:

    • En Azure-tjänst som azure-aks, azure-appserviceeller azure-container-apps.
    • Möjligheten att identifiera containeriseringsproblem.
    • Windows OS-plattformen.
  • Analysera en källkodskatalog och behåll de identifierade kontextraderna med anpassade radnummer:

    appcat analyze \
        --input <path-to-source> \
        --output <path-to-output> \
        --context-lines-number <line-number>
        --target=<target-name>
    

    Följande skärmbild visar ett exempel på hur du använder --context-lines-number 3:

    Skärmbild av kodfragmentskillnaden för appcat-rapporten med parametern context-lines-number.

  • Begränsa rapportinnehåll utan kodfragment:

    appcat analyze \
        --input <path-to-source> \
        --output <path-to-output> \
        --code-snips-number -1
        --target=<target-name>
    

    När --code-snips-number -1 har angetts exporteras inte kodfragment till rapporten. Det här beteendet hjälper till att förhindra att känsliga data inkluderas.

    Skärmbild av AppCAT-rapporten som visar skillnaden med och utan kodfragment.

    Du kan också kontrollera egenskapen metadata.privacyMode i report.json.

    PrivacyMode värden:

    • Obegränsad – rapporten innehåller kodfragment.
    • Begränsad – rapporten innehåller inte kodfragment.

Appcat-transformering

Konverterar Windup XML-regler till YAML.

Obligatoriska parametrar

Parameter Beskrivning
--rules Konverterar XML-regler till YAML.

Globala parametrar

Parameter Beskrivning
--disable-telemetry Inaktiverar telemetri
--log-level Anger loggnivån. Standardvärdet är 4.
--no-cleanup Förhindrar rensning av tillfälliga resurser efter genomförande.

Exempel

Följande exempel konverterar en windup XML-regel till YAML:

appcat transform rules --input <path-to-rule> --output <path-to-output-folder> --target=<target-name>

appcat-version

Skriver ut verktygsversionen.

appcat version