Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o uso de comando da CLI do AppCAT.
Commands
| Nome | Description |
|---|---|
| appcat analyze | Esse subcomando habilita a execução da análise de código-fonte no código-fonte de entrada ou em um binário. |
| appcat transform | Esse subcomando permite converter regras XML em YAML. |
| appcat version | Esse subcomando imprime a versão da ferramenta. |
appcat analyze
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 | Description |
|---|---|
--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 padrão é []. |
--output |
O diretório em que os resultados da análise são armazenados. |
Parâmetros opcionais
| Categoria | Parâmetro | Description |
|---|---|---|
| Tecnologias de origem e 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 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 |
Habilita a análise de bibliotecas de software livre conhecidas - especificadas no AppCAT - durante a análise do código-fonte. O valor padrão é 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 padrão é false. |
|
--mode, -m |
Define o modo de análise. Deve ser uma das seguintes opções: full - origem + dependências, para analisar o código-fonte e listar as dependências - ou source-only. O valor padrão é 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 padrão é []. |
|
| Opções de regra | ||
--code-snips-number |
Limita a quantidade exibida de incidentes com trechos de código em um arquivo.
0 significa que não há limite, portanto, todos os incidentes com snippets de código em um arquivo são exibidos.
-1 significa que nenhum snippet de código é exibido. O valor padrão é 0. |
|
--enable-default-rulesets |
Habilita a execução de conjuntos de regras padrão. O valor padrão é 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 os arquivos ou diretórios de regras. Use uma lista separada por vírgulas para vários valores , por exemplo, --rules <rule1>,<rule2>,.... O valor padrão é []. |
|
| Configurações de proxy | ||
--http-proxy |
Define uma URL de proxy HTTP para baixar bibliotecas de software de software livre (OSS) do repositório Maven. | |
--https-proxy |
Define uma URL de proxy HTTPS para baixar bibliotecas de OSS do repositório Maven. | |
--no-proxy |
Especifica URLs a serem excluídas do uso de proxy ao baixar bibliotecas de OSS do repositório Maven. | |
| Formatação de relatório e saída | ||
--bulk |
Combina resultados ao executar vários analyze comandos em lote. O valor padrão é false. |
|
--context-lines-number |
Define o número de linhas de código-fonte incluídas na saída para cada incidente detectado. O valor padrão é 100. |
|
--incident-selector |
Filtra incidentes com base em uma expressão de variável personalizada , por exemplo, (!package=io.konveyor.demo.config-utils). |
|
--output-format |
Escolhe o formato de saída.
yaml ou json. O valor padrão é yaml. |
|
--overwrite |
Substitui o diretório de saída existente. O valor padrão é false. |
|
--skip-static-report |
Ignora a geração de um relatório de análise estática. O valor padrão é false. |
Fontes compatíveis
O --list-sources parâmetro mostra as seguintes tecnologias de origem:
| Nome de origem | Description | Source |
|---|---|---|
| Java | Práticas recomendadas para migrar aplicativos Java. | java |
| Java EE | Práticas recomendadas para migrar a tecnologia Java EE. | java-ee |
| OpenJDK | Práticas recomendadas para migrar aplicativos com o OpenJDK. | openjdk |
| OpenJDK 8 | Práticas recomendadas para migrar aplicativos com o 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 o 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 migrar aplicativos com o Oracle JDK. | oraclejdk |
| Oracle JDK 7 | 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 |
| Programa de Assistência ao Empregado (EAP) | Práticas recomendadas para migrar aplicativos Java que usam a tecnologia JBoss EAP. | eap |
| EAP 7 | Práticas recomendadas para migrar aplicativos Java que usam a tecnologia JBoss EAP 7. | eap7 |
Destinos suportados
O --list-targets parâmetro mostra as seguintes tecnologias de destino:
| Nome do destino | Description | Meta |
|---|---|---|
| Serviço de Aplicativo do Azure | Práticas recomendadas para implantar um aplicativo no Serviço de Aplicativo do Azure. | azure-appservice |
| Serviço de Kubernetes do Azure | Práticas recomendadas para implantar um aplicativo no Serviço de Kubernetes do Azure. | azure-aks |
| Aplicativos de Contêiner do Azure | Práticas recomendadas para implantar um aplicativo nos Aplicativos de Contêiner do Azure. | azure-container-apps |
Sistemas operacionais com suporte
O --list-os parâmetro mostra os seguintes sistemas operacionais:
| Nome do SO | Description | Sistema operacional |
|---|---|---|
| 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 do recurso | Description | Capability |
|---|---|---|
| Transporte em contêineres | Práticas recomendadas para a conteinerização de aplicativos. | 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 arquivos ignorados
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 | Description |
|---|---|
--disable-telemetry |
Desabilita a telemetria. |
--log-level |
Define o nível de log. O valor padrão é 4. |
--no-cleanup |
Impede a limpeza de recursos temporários após a execução. |
Exemplos
Analisar 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 aplicativo a um diretório de saída e relatório estático existente:
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 uma origem específica para combinar tecnologias de destino, funcionalidades e sistema operacional:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --source springboot \ --target azure-aks,azure-appservice,azure-container-apps --capability containerization --os windowsOs parâmetros
--target,--capabilitiese-ossão combinados com uma condiçãoAND, 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 detectar problemas de contêinerizaçã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 detectadas 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 como usar
--context-lines-number 3:Restringir o conteúdo do relatório sem snippets de código:
appcat analyze \ --input <path-to-source> \ --output <path-to-output> \ --code-snips-number -1Quando
--code-snips-number -1é definido, os snippets 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.Valores
PrivacyMode:- Sem restrições – o relatório inclui trechos de código.
- Restrito – o relatório não inclui snippets de código.
appcat transform
Converte regras XML do Windup para YAML.
Parâmetros necessários
| Parâmetro | Description |
|---|---|
--rules |
Converte regras XML em YAML. |
Parâmetros globais
| Parâmetro | Description |
|---|---|
--disable-telemetry |
Desabilita a telemetria |
--log-level |
Define o nível de log. O valor padrão é 4. |
--no-cleanup |
Impede a limpeza de recursos temporários após a execução. |
Exemplos
O exemplo a seguir converte uma regra de XML da ferramenta Windup 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