Objetivo: criar um processo de gerenciamento de código-fonte eficiente para implantação de Continuous Integration na sua equipe de Desenvolvimento.
Benefícios: garantir versões corretas em produção; confiabilidade no rastreamento das mudanças; manter a esteira de implementação veloz e saudável; premissa para utilização de práticas DevOps
O time-to-market, mencionado em métodos ágeis, e considerado em empresas que precisam ter dinâmica e fluidez na criação e lançamento de produtos em produção, necessita de um processo de Integração Contínua para viabilizar frequentes ajustes e garantir entregas rápidas pela equipe de desenvolvimento. É neste contexto que um bom gerenciamento de fontes viabiliza o acesso aos fontes dos pacotes (Version, Service Pack e Hotfix) publicados em produção.
Uma boa prática deste modelo é trabalhar com três linhas:
- Main: última versão funcional em desenvolvimento – o Configuration Manager realiza alterações via Merge e Check-in
- Dev: branchs liberadas para desenvolvimento – novas implementações, hotfix e service pack
- Release: representa os códigos-fonte liberados para produção; criadas a partir do Label aprovado pelo processo de validação de negócio
E então o fluxo trabalha com a MAIN para gerenciar o produto – deve estar isolada da linha de DEV e RELEASE. Em novas implementações, deve-se criar uma branch de DEV a partir da MAIN. Para correções, deve ser criada uma branch de HOTFIX, a partir da branch RELEASE correspondente.
Todos os commits de desenvolvimento devem ser realizados na DEV ou HOTFIX. A RELEASE será utilizada como referência ao ambiente de produção. As correções devem ser executadas pelo Configuration Manager via merge: HOTFIX -> RELEASE -> MAIN. Os desenvolvedores ficam encarregados de realizar o merge da MAIN para DEV.
O TFVC (.Net) e GitHub (Java,PHP, etc.) são versionadores utilizados neste contexto.
5 thoughts on “ALM – Gerenciamento de código-fonte”
Comments are closed.