Após uma postagem no Twitter de Rafael Gomes (Gomex) e Amaury Souza no Slack infraascode citando o Codeac.io, resolvi dedicar um tempo estudar e testar a ferramenta.
Codeac faz a análise da qualidade, olhando não apenas o código da aplicação, mas também do código que gerencia a infraestrutura a ser usada pela aplicação (Exemplo: Dockerfile, Ansible, CloudFormation, Terraform, Shell Script, etc). Há suporte a várias linguagens de programação: https://www.codeac.io/documentation/supported-languages.html.
Nos planos Free ou Pro, a ferramenta não requer a instalação (fica na nuvem) e a integração no pipeline é muito simples: basta configurar a integração com o GitHub, GitLab ou BitBucket. Ele consegue listar todos os repositórios de código associados a conta e analisar apenas o código de repositórios públicos ou privados que você definir. Mais informações podem ser encontradas neste link: https://www.codeac.io/documentation/getting-started.html. A documentação é bem elaborada, clara e simples.
No plano Enterprise, o Codeac pode ser instalado num servidor da rede local da sua empresa ou instituição e pode ser usado para acessar um repositório Git que esteja na rede local.
Configurei a integração do Codeac com esse repositório que mantenho no GitHub: https://github.com/aeciopires/terraform
Os resultados da análise podem ser vistos nas imagens a seguir. Como você pode ver, a interface é simples, intuitiva e mostra as sugestões de melhoria de forma clara.
Após os testes iniciais, tive uma ótima surpresa… Jiri Tichy (membro do time do Codeac.io) entrou em contato via Linkedin. Conversamos sobre as primeiras impressõess sobre a ferramenta e pude entender um pouco mais sobre os objetivos da mesma. Durante a conversa recebi um pull request de Michel Simon (criado da ferramenta). Além da contribuição no código, as palavras de motivação para continuar ajudando com o código open source foram muito bem vindas.
Espero que o post tenha sido útil e que de alguma forma possa ajudar você e seu time a escrever códigos ainda melhores para manter a infraestrutura, seja ela na nuvem ou em ambiente local.
Deixe um comentário