Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve o uso do comando AppCAT CLI.
Comandos
| Nome | Descrição |
|---|---|
| Análise do AppCat | Este subcomando permite executar a análise do código-fonte no código-fonte de entrada ou em um binário. |
| transformação do appcat | Este subcomando permite converter regras XML para YAML. |
| Versão do AppCat | Este subcomando imprime a versão da ferramenta. |
Análise do AppCat
As seções a seguir fornecem uma descrição detalhada dos parâmetros de linha de comando disponíveis appcat analyze .
Parâmetros necessários
| Parâmetro | Descrição |
|---|---|
--input |
O caminho para o código-fonte do aplicativo ou um arquivo binário para análise. Use uma lista separada por vírgulas para vários valores: --input <input1>,<input2>,.... O valor predefinido é []. |
--output |
O diretório onde os resultados da análise são armazenados. |
Parâmetros opcionais
| Categoria | Parâmetro | Descrição |
|---|---|---|
| Tecnologias de origem e de destino | ||
--list-sources |
Exibe as tecnologias de origem de migração disponíveis. | |
--list-targets |
Exibe as tecnologias de destino de migração disponíveis. | |
--list-capabilities |
Exibe os recursos de migração disponíveis | |
--list-os |
Exibe os sistemas operacionais de destino de migração disponíveis. | |
--source, -s |
Especifica as tecnologias de origem para análise. Use uma lista separada por vírgulas para vários valores - por exemplo, --source <source1>,<source2>,.... Use o --list-sources argumento para listar todas as fontes disponíveis. |
|
--target, -t |
Especifica as tecnologias de destino para análise. Use uma lista separada por vírgulas para vários valores - por exemplo, --target <target1>,<target2>,.... Use o --list-targets argumento para listar todos os destinos disponíveis. |
|
--capability, -c |
Especifica tecnologias de capacidade para análise. Use uma lista separada por vírgulas para vários valores - por exemplo, --capability <capability1>,<capability2>,.... Use o --list-capabilities argumento para listar todos os recursos disponíveis. |
|
--os |
Especifica os sistemas operacionais para análise. Use uma lista separada por vírgulas para vários valores - por exemplo, --os <os1>,<os2>,.... Use o --list-os argumento para listar todos os sistemas operacionais disponíveis. |
|
| Opções de análise | ||
--analyze-known-libraries |
Permite a análise de bibliotecas de código aberto conhecidas - especificadas em AppCAT maven.default.index - durante a análise do código-fonte. O valor predefinido é false. |
|
--custom-maven-settings |
Especifica o caminho para um arquivo de configurações personalizado do Maven. | |
--dry-run |
Verifica se os sinalizadores são válidos sem realmente executar a análise. O valor predefinido é false. |
|
--mode, -m |
Define o modo de análise. Deve ser um dos full - fonte + dependências, para analisar o código-fonte e listar dependências - ou source-only. O valor predefinido é full. |
|
--packages |
Especifica os pacotes de classe de aplicativo a serem avaliados. Use uma lista separada por vírgulas para vários valores - por exemplo, --packages <package1>,<package2>,.... O valor predefinido é []. |
|
| Opções de regra | ||
--code-snips-number |
Limita o número exibido de incidentes com trechos de código em um arquivo.
0 significa que não há limite, portanto, todos os incidentes com trechos de código em um arquivo são exibidos.
-1 significa que nenhum trecho de código é exibido. O valor predefinido é 0. |
|
--enable-default-rulesets |
Permite a execução de conjuntos de regras padrão. O valor predefinido é true. Use --enable-default-rulesets=false para desativar. |
|
--label-selector, -l |
Aplica regras com base em uma expressão de seletor de rótulo especificada - por exemplo, (konveyor.io/target=azure-aks && konveyor.io/source). |
|
--rules |
Especifica arquivos de regras ou diretórios. Use uma lista separada por vírgulas para vários valores - por exemplo, --rules <rule1>,<rule2>,.... O valor predefinido é []. |
|
| Definições de proxy | ||
--http-proxy |
Define uma URL de proxy HTTP para baixar bibliotecas de software de código aberto (OSS) do repositório Maven. | |
--https-proxy |
Define uma URL de proxy HTTPS para baixar bibliotecas OSS do repositório Maven. | |
--no-proxy |
Especifica URLs a serem excluídas do uso de proxy ao baixar bibliotecas OSS do repositório Maven. | |
| Formatação de relatório e formato de saída | ||
--bulk |
Combina resultados ao executar vários comandos analyze em lote. O valor predefinido é false. |
|
--context-lines-number |
Define o número de linhas de código-fonte incluídas na saída para cada incidente detetado. O valor predefinido é 100. |
|
--incident-selector |
Filtra incidentes com base em uma expressão variável personalizada - por exemplo, (!package=io.konveyor.demo.config-utils). |
|
--output-format |
Escolhe o formato de saída.
yaml ou json. O valor predefinido é yaml. |
|
--overwrite |
Substitui o diretório de saída existente. O valor predefinido é false. |
|
--skip-static-report |
Ignora a geração de um relatório de análise estática. O valor predefinido é false. |
Origens suportadas
O --list-sources parâmetro mostra as seguintes tecnologias de origem:
| Nome da fonte | Descrição | Fonte |
|---|---|---|
| Java | Melhores práticas para migrar aplicações Java. | java |
| Java EE | Melhores práticas para migrar a tecnologia Java EE. | java-ee |
| OpenJDK | Práticas recomendadas para migrar aplicativos com OpenJDK. | openjdk |
| OpenJDK 8 | Práticas recomendadas para migrar aplicativos com OpenJDK 8. | openjdk8 |
| OpenJDK 9 | Práticas recomendadas para migrar aplicativos com o OpenJDK 9. | openjdk9 |
| OpenJDK 10 | Práticas recomendadas para migrar aplicativos com OpenJDK 10. | openjdk10 |
| OpenJDK 11 | Práticas recomendadas para migrar aplicativos com o OpenJDK 11. | openjdk11 |
| OpenJDK 12 | Práticas recomendadas para migrar aplicativos com o OpenJDK 12. | openjdk12 |
| OpenJDK 13 | Práticas recomendadas para migrar aplicativos com o OpenJDK 13. | openjdk13 |
| OpenJDK 14 | Práticas recomendadas para migrar aplicativos com o OpenJDK 14. | openjdk14 |
| OpenJDK 15 | Práticas recomendadas para migrar aplicativos com o OpenJDK 15. | openjdk15 |
| OpenJDK 16 | Práticas recomendadas para migrar aplicativos com o OpenJDK 16. | openjdk16 |
| OpenJDK 17 | Práticas recomendadas para migrar aplicativos com o OpenJDK 17. | openjdk17 |
| OpenJDK 18 | Práticas recomendadas para migrar aplicativos com o OpenJDK 18. | openjdk18 |
| OpenJDK 19 | Práticas recomendadas para migrar aplicativos com o OpenJDK 19. | openjdk19 |
| OpenJDK 20 | Práticas recomendadas para migrar aplicativos com o OpenJDK 20. | openjdk20 |
| OpenJDK 21 | Práticas recomendadas para migrar aplicativos com o OpenJDK 21. | openjdk21 |
| Oracle JDK | Práticas recomendadas para migração de aplicativos com Oracle JDK. | oraclejdk |
| Oracle JDK 7 [en] | Práticas recomendadas para migrar aplicativos com o Oracle JDK 7. | oraclejdk7 |
| RMI | Práticas recomendadas para migrar aplicativos Java que usam a tecnologia RMI. | rmi |
| RPC | Práticas recomendadas para migrar aplicativos Java que usam a tecnologia RPC. | rpc |
| Primavera 5 | Práticas recomendadas para migrar aplicativos que usam a tecnologia Spring 5. | spring5 |
| Spring Boot | Práticas recomendadas para migrar a tecnologia Spring Boot. | springboot |
| PAA | Melhores práticas para migrar aplicativos Java que usam a tecnologia JBoss EAP. | eap |
| EAP 7 | Melhores práticas para migrar aplicativos Java que usam a tecnologia JBoss EAP 7. | eap7 |
Alvos suportados
O --list-targets parâmetro mostra as seguintes tecnologias de destino:
| Nome do destino | Descrição | Objetivo |
|---|---|---|
| Serviço de Aplicações do Azure | Práticas recomendadas para implantar um aplicativo no Serviço de Aplicativo do Azure. | azure-appservice |
| Azure Kubernetes Service | Práticas recomendadas para implantar um aplicativo no Serviço Kubernetes do Azure. | azure-aks |
| Azure Container Apps | Práticas recomendadas para implantar um aplicativo em Aplicativos de Contêiner do Azure. | azure-container-apps |
Sistemas operativos suportados
O --list-os parâmetro mostra os seguintes sistemas operacionais:
| Nome do SO | Descrição | Sistema Operativo |
|---|---|---|
| Linux | Práticas recomendadas para migrar aplicativos para a plataforma Linux. | linux |
| Windows | Práticas recomendadas para migrar aplicativos para a plataforma Windows. | windows |
Capacidades suportadas
O --list-capabilities parâmetro mostra os seguintes recursos:
| Nome da capacidade | Descrição | Capacidade |
|---|---|---|
| Contentorização | Práticas recomendadas para aplicativos de conteinerização. | containerization |
| OpenJDK 11 | Práticas recomendadas para migrar para o OpenJDK 11. | openjdk11 |
| OpenJDK 17 | Práticas recomendadas para migrar para o OpenJDK 17. | openjdk17 |
| OpenJDK 21 | Práticas recomendadas para migrar para o OpenJDK 21. | openjdk21 |
Configurar ignorar arquivos
No caminho de instalação da CLI do AppCAT, você pode configurar o arquivo .appcat-ignore para excluir pastas ou caminhos especificados ao executar o appcat analyze comando.
Parâmetros globais
| Parâmetro | Descrição |
|---|---|
--disable-telemetry |
Desativa a telemetria. |
--log-level |
Define o nível de log. O valor predefinido é 4. |
--no-cleanup |
Evita a remoção de recursos temporários após a execução. |
Exemplos
Analise um diretório de código-fonte:
appcat analyze --input <path-to-source> --output <path-to-output>Analise um diretório de código-fonte com tecnologias de origem e destino específicas:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-appsAnalise um diretório de código-fonte com regras personalizadas extras:
appcat analyze --input <path-to-source> --output <path-to-output> --rules <path-to-rules>Analise um diretório de código-fonte usando apenas regras personalizadas, sem conjuntos de regras padrão:
appcat analyze \ --input /path/to/source \ --output /path/to/output \ --enable-default-rulesets=false \ --rules /path/to/rulesAnalise e adicione mais análise de aplicativos a um diretório de saída existente e a um relatório estático:
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>Analise um diretório de código-fonte com código-fonte específico para combinar tecnologias, recursos e sistema operacional de destino:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-apps --capability containerization --os windowsOs
--targetparâmetros ,--capabilities, e-ossão combinados com umaANDcondição, o que significa que as regras devem corresponder simultaneamente aos seguintes critérios:- Um serviço do Azure como
azure-aks,azure-appserviceouazure-container-apps. - A capacidade de detetar problemas de conteinerização.
- A plataforma do sistema operacional Windows.
- Um serviço do Azure como
Analise um diretório de código-fonte e mantenha as linhas de contexto detetadas com números de linha personalizados:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --context-lines-number <line-number>A captura de tela a seguir mostra um exemplo de uso do
--context-lines-number 3:Restrinja o conteúdo do relatório sem trechos de código:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --code-snips-number -1Quando
--code-snips-number -1é definido, os trechos de código não são exportados para o relatório. Esse comportamento ajuda a impedir que dados confidenciais sejam incluídos.Você também pode verificar a propriedade
metadata.privacyModeemreport.json.PrivacyModevalores:- Sem restrições – o relatório inclui trechos de código.
- Restrito – o relatório não inclui trechos de código.
transformação de appcat
Converte regras XML do Windup em YAML.
Parâmetros necessários
| Parâmetro | Descrição |
|---|---|
--rules |
Converte regras XML para YAML. |
Parâmetros globais
| Parâmetro | Descrição |
|---|---|
--disable-telemetry |
Desativa a telemetria |
--log-level |
Define o nível de log. O valor predefinido é 4. |
--no-cleanup |
Evita a remoção de recursos temporários após a execução. |
Exemplos
O exemplo a seguir converte uma regra XML de liquidação em YAML:
appcat transform rules --input <path-to-rule> --output <path-to-output-folder>
Versão do AppCat
Imprime a versão da ferramenta.
appcat version