Como rastrear a implementação com build automatizado
No processo de desenvolvimento de software, historicamente, nos deparamos com a necessidade de análise de impacto de mudanças. Consequentemente, a necessidade de rastrear as implementações realizadas, para possíveis adequações. Com o uso de ferramentas de build automatizado e um processo de itens de backlog em ferramental integrado, esta necessidade é atingida de forma facilitada.
No decorrer desta leitura, vamos demonstrar uma configuração básica deste processo, fazendo uso do Azure Devops e uma aplicação simples em Java. Será demonstrado um fluxo simples de gestão de atividade integrada, com uma esteira de CI/CD, possibilitando assim, o rastreio do trecho de código atrelado a execução de build automatizado.
Criando o vínculo branch x task
Através da atividade podemos criar a branch específica para o desenvolvimento.
Este procedimento permite que a task vinculada mantenha todo o histórico de commits realizados na branch criada, sem a necessidade de informar esta no ato do commit.
Alterando o fonte e verificando o rastreio
A partir deste momento, qualquer alteração realizada na branch passa a ser rastreada pela ferramenta.
Caso a branch não tenha sido criada vinculada a uma task, não impede de se implementar o rastreio. Basta que no ato do commit seja citado o número desta precedido do símbolo “#”.
Efetuando o commit
Histórico de Alterações na Task.
O AzureDevops nos permite também rastrear a alteração e qual atividade demandante através do histórico da branch. Na imagem abaixo temos além da task a identificação da linha de código e arquivo impactado pela alteração assim como o responsável pela ação.
Rastreio da task na branch
Até o momento abordamos o rastreio pré-automatização de build no ambiente, contudo, ele é base para alcançarmos os objetivos que queremos. Após essa prática o ferramental se responsabiliza por garantir o rastro em todas as fases da esteira DevOps.
Abaixo segue uma sequência de imagens demonstrando o rastreio no processo de release:
Fazendo uso desta simples prática conseguimos ganhar velocidade na identificação do que motivou a alteração no código fonte, possibilitando o rastreio do executor, objetivo inicial (task) e consequentemente uma rápida resposta de ajuste se for necessário.
Contudo faz-se necessário o aculturamento dos times ágeis de desenvolvimento para garantir o fluxo de alimentação da ferramenta seja na criação da branch, no ato do commit ou no fluxo de aprovação de releases para permitir tais ganhos.
*Material desenvolvido com o apoio dos profissionais Jamil Costa, Ricardo Werneck e Diógenes Souza