Build, deploy e testes
O SDK atual não cobre apenas runtime. Ele também participa do empacotamento do projeto, da estratégia de logging e dos testes locais.
Build e empacotamento
O pacote público expõe tooling de build em @tunnelhub/sdk/building.
Esse fluxo lê a configuração do projeto, usa tunnelhub.yml como referência e normalmente gera um artefato em zip para deploy.
Na prática, isso ajuda a padronizar:
entrypoint;
runtime;
memória e timeout;
arquivos incluídos no bundle;
artefato final esperado pela CLI.
Estratégia de logging
O SDK escolhe entre logging em tempo real e logging em lote conforme o volume e o perfil da execução.
Em alto nível:
cargas pequenas tendem a usar logging em tempo real;
cargas muito grandes tendem a usar modo em lote;
fluxos podem ajustar limiares protegidos para adaptar o comportamento.
Esse desenho melhora custo e performance sem exigir lógica manual em cada integração.
Em flows de maior volume, o SDK ajusta o comportamento entre realtime e lote para evitar custo operacional excessivo sem perder rastreabilidade útil.
Observabilidade
Os logs da automação alimentam as telas de monitoramento da plataforma. A qualidade dos metadados e das mensagens impacta diretamente a capacidade de suporte e investigação.
Se a integração conversa com APIs externas, vale combinar esse modelo com setupInterceptor() quando o ganho investigativo justificar o aumento de detalhe.
Testes locais
Para testes, o SDK expõe o flag:
Esse modo é recomendado para suites Jest e cenários de mock de serviços AWS ou chamadas externas.
Modo verboso
Quando necessário, você pode habilitar:
Isso ajuda durante desenvolvimento e depuração local.
Recomendações
mantenha
tunnelhub.ymlalinhado ao runtime real do projeto;gere o artefato antes de chamar
deploy-automation;teste os utilitários e o fluxo separadamente;
faça mock de dependências AWS e integrações externas;
trate mensagens de erro como parte do contrato operacional;
valide os metadados antes de publicar uma nova versão.
Troubleshooting comum
parâmetro obrigatório ausente: valide
AutomationParameter.getRequiredParameter()e o cadastro no produto;Data Store ou Sequence não encontrado: confirme código, ambiente e associação correta;
erro de metadata: revise labels reservadas e tipos inválidos;
artefato inconsistente: confira
tunnelhub.yml, entrypoint e caminho do zip antes do deploy.
Last updated