Automação de versões usando Release Manager

19 de setembro de 2015 Por Ramon Durães

Automação de release usando Release Manager
O desenvolvimento de software passa por diversos momentos até ter a aplicação disponível para utilização e um passo importante é a gestão de Release e Deploy. Hoje dentro da estratégia de DevOps na plataforma Microsoft nós podemos utilizar o Microsoft Release Manager para orquestrar todo o processo de promoção de versão entre os ambientes do seu projeto.

O desenvolvimento de software passa por diversos momentos até ter a aplicação disponível para utilização e um passo importante é a gestão de Release e Deploy. Hoje dentro da estratégia de DevOps na plataforma Microsoft nós podemos utilizar o Microsoft Release Manager para orquestrar todo o processo de promoção de versão entre os ambientes do seu projeto.

O fluxo básico é você usando Visual Studio ou outra ferramenta publicar o código fonte no servidor de Team Foundation Server (TFS) e disparar um processo automatizado de build para gerar a versão do seu projeto. Esse processo compila aplicações .NET / Java e outras tecnologias gerando em uma pasta a versão compilada sem intervenção humana já reduzindo o seu risco do projeto.

Esse estágio é muito importante, pois de garantir a compilação do código e que a versão está no repositório ele pode aplicar um label/tag para gerar o baseline da versão, rodar testes unitários, cobertura de código, validação de arquitetura e demais recursos para estabelecer que essa versão segue todos os princípios “Quality gates”. Quanto mais investimento em qualidade com padronização, arquitetura de software, reuso mais resultados você terá ao longo do processo.

Com a versão pronta é acionado então o Release Manager para orquestrar a promoção da versão pelos ambientes validando todo o processo de publicação de forma automatizada seja criando uma pasta no servidor Web, definição de um Pool no IIS e até publicação do banco de dados.

Você nesse momento deve estar se perguntando se isso é realmente possível e posso lhe dizer com segurança e dezenas de projetos implantados em empresas de todos os tamanhos que funciona muito bem tornando a publicação automatizada e sem intervenção humana copiando arquivos.

Em um processo de publicação de release nós criamos os ambientes e definimos os responsáveis pelas aprovações e com um clique essa versão segue o fluxo por diversas áreas incluindo desenvolvimento, testes, homologação e inclusive operações (Ops) que é responsável pela publicação em produção.

Eu diria que mais importante que ganhar agilidade na publicação de versão e toda a autonomia é fundamental registrar que tendo todos os passos automatizados você elimina o risco de intervenções humanas esquecendo itens a publicar e/ou até retenção de informação em um determinado ponto.

Na 2PC nós implantamos nos nossos clientes a nossa solução conhecida como  “DevPrime ®” que traz as principais práticas de desenvolvimento ágil, gestão de aplicações e DevOps. Desejando conversar mais um pouco sobre Enterprise Software entre em contato.

Até a próxima !!!

Ramon Durães
Chief executive officer (CEO)
2PC IT Services
MVP, Visual Studio ALM
PSM, CSM, PSD, LKU