Na atualidade, com diversas metodologias para desenvolvimento de software se ouve muito falar em desenvolvimento ágil e dentro desse conceito, se encontra a ideia de integração contínua.

Os desenvolvedores integram código ao projeto durante todo o dia e é imprescindível que o novos códigos e novas funcionalidades não gerem problemas novos em conflito com o código já existente, e é nesse momento que entra o Jenkins para facilitar um pouco as coisas.

O Jenkins é uma ferramenta de automação que envolve diversas tarefas desde a criação, testes, distribuição e até implementação e deploy.

No Jenkins, um job representa uma tarefa que o Jenkins irá realizar. É no job que serão definidas todas as configurações necessárias para que o resultado final da execução seja o esperado. Dentro do job é possível configurar ações pré e pós build, ou seja, pode-se definir atividades que precisam ser executadas antes do projeto ser finalmente “buildado” como por exemplo, utilizando comandos Shell para criar uma pasta nova dentro do projeto, e dessa mesma forma, pode-se definir atividades que serão realizadas após a finalização, como por exemplo, enviar um email, enviar algum tipo de notificação para um canal de comunicação ou até mesmo enviar um aplicativo para a loja.

Artefatos

Uma das configurações que podem ser definida no job, estão os artefatos. Os artefatos são o produto final gerado durante a execução de um job (um apk/ipa, compilado da pasta do projeto e etc) que serão anexados ao build, sendo assim, em um job configurado para executar testes unitários, poderão ser armazenados os resultados desses testes, como relatórios por exemplo. O Jenkins mantém uma fila de builds, tanto build que foram um sucesso quanto builds que falharam e armazenando os artefatos, é possível detectar por exemplo, o momento em que um determinado teste parou de funcionar.



GIT

Um dos fluxos mais comuns da utilização do Jenkins é relacionado ao projeto armazenado no Git. Com a criação de um webhook, que ficará responsável de enviar as informações para o Jenkins após uma determinada ação no repositório (ações que vão desde um commit em uma determinada branch até a uma aprovação de um Pull Request), e definindo as configurações necessárias no job em relação ao webhook, o job no Jenkins será executado, tratando as informações recebidas pelo POST do webhook do Git, realizando testes unitários e funcionais e fazendo o deploy da aplicação.

Configurações

As opções de configuração dos jobs do Jenkins são infinitas, incluindo a criação dos chamados jobs “slaves” que são jobs menores a serem executados e após a finalização com sucesso de todos, será executado um novo job, mantendo assim uma certa estrutura mais clara e legível ao invés de colocar tudo em um job só, dificultando a manutenção caso um dia for necessária.

Para finalizar, acreditamos que o conhecimento básico das funcionalidades do Jenkins pode ser uma parte fundamental para o desenvolvedor poder integrar seus processos de forma ágil e automatizada.

Autores: Marcus Felet e Lucas Bento.


Previous Post Next Post