Integração Contínua em .NET: Implementação – Parte 3

Veja nesse artigo como implementar os sete ciclos da Integração Contínua. Além disso, vamos aprender a usar o Git e Hudson e ver porque os dois são boas ferramentas para qualquer empresa que empregue I.C.

Artigo no estilo: Curso

Fique por dentro
A integração contínua (CI) é uma prática que vem se disseminando nas empresas como um todo, trazendo vantagens importantes como a automatização da parte repetitiva do trabalho do desenvolvedor, permitindo que se concentrem no que realmente importa: o desenvolvimento dos softwares.

Nos demais artigos desse curso focamos em detalhes teóricos da implementação da integração contínua nas empresas. Nesse artigo iremos começar a implementação da integração contínua em uma empresa totalmente do zero. Apresentaremos uma alternativa de servidor de CI, o Hudson, bem como o Git como servidor SCM, uma vez que apresentamos o SVN e o CruiseControl.NET (servidor CI) na segunda parte dessa série.

A integração contínua é uma das principais ferramentas de integração no desenvolvimento de software em equipe atualmente. Esse tipo de técnica permite que as partes do software que estão sendo desenvolvidas por diferentes pessoas estejam integradas constantemente, evitando atrasos ao final do projeto. Porém, a implementação não é tão simples como possa parecer.

Nas primeiras partes de nossa série trouxemos os principais passos para a implementação da integração contínua e os principais erros que são cometidos. É muito importante que se tenha uma noção do que essas informações significam para a implementação correta das técnicas de CI.

Como se trata de uma arte que, embora simples no contexto, traz uma série de nuances, e é muito fácil para desenvolvedores com pouca experiência se perderem nesses passos e acabarem cometendo alguns erros, como os que foram explicados na parte dois de nossa série.

Inicialmente, falamos sobre o que é a integração contínua e como ela pode ser implementada dentro das empresas. Nessa primeira parte foram abordados temas como processos de desenvolvimento para integração contínua, que incluem os processos comuns à maioria das empresas mais alguns específicos para a ação do servidor de CI, onde ele observa as alterações no código do SCM, efetua o build, executa os testes unitários e envia os resultados do build e dos testes para algum tipo de sistema de comunicação.

Vale ressaltar que esses passos somente são utilizados quando os processos de integração contínua estão completos, o que pode levar algum tempo. Nesse curso vimos detalhes de tipos de build, os passos pelos quais a empresa precisa passar para corretamente implementar a integração contínua e alguns pontos de custo benefício e possível resistência a mudança por parte dos membros da equipe de desenvolvimento.

Além disso, no curso também foram pontuados os principais objetivos para a implementação da integração contínua. É muito importante que tenhamos essa ideia de qual é o objetivo final da implementação da IC, e de qualquer outro processo, bem como dos objetivos parciais a serem alcançados. Esse tipo de atitude traz um grande benefício para a equipe de desenvolvimento, fazendo com que a mudança não seja tão brusca e que todos tenham uma noção do lugar para onde se está indo.

Nessa segunda parte, vimos também a implementação do servidor de CI, com poucos detalhes e com alguns erros criados propositalmente para entendermos o que comumente pode acontecer durante a implementação. Esses erros ocorrem, principalmente, devido à falta de conhecimento dos processos de integração contínua, acarretando muitos problemas.

Durante esse artigo iremos começar a implementação de nosso servidor de integração contínua. Serão seguidos alguns passos rígidos - vistos brevemente na parte um da série - que serão vistos a seguir para termos, ao final de nossa série, uma ideia muito clara do que é a integração contínua, os erros que podem acontecer quando a implementamos e, obviamente, como implementá-la da forma mais correta com as principais ferramentas do mercado. Para isso, utilizaremos uma estrutura fictícia composta por uma empresa que está começando no mercado e quer desde o começo possuir uma estrutura de integração contínua, o que irá evitar alguns dos problemas que comentamos nas partes anteriores de nossa série.

Passos para implementação da Integração Contínua

A integração contínua é uma ferramenta muito útil para construção de softwares em equipe. É uma das chaves para a melhoria de produtividade nos dias atuais pelo fato de automatizar a parte repetitiva do trabalho. A sua implementação, entretanto, requer bastante atenção e uma série de passos que devem ser seguidos para que o impacto da implementação não seja muito grande nem que hajam erros na mesma.

Isso é muito importante, uma vez que, normalmente, os softwares criados pelas empresas possuem prazos muito rígidos que podem ser prejudicados no caso de uma integração contínua inconfiável.

Esses passos que serão apresentados a seguir foram apresentados na parte 1 de nossa série sob uma ótica um tanto diferente, mais didática e menos prática. O objetivo aqui é mostrar o que será feito em cada ciclo para que, quando a empresa atingir o sétimo ciclo, todo o sistema de integração contínua dentro da empresa esteja implementado. Atualmente, podemos colocar nossa empresa fictícia em um ciclo 0, uma vez que não há nenhum tipo de infraestrutura nem processos ainda disponíveis na empresa.

· Ciclo 1: No primeiro ciclo, a empresa não possui nenhum tipo de servidor de build centralizado. Isso faz como que todos os builds sejam realizados manualmente na máquina do desenvolvedor.

Com isso, a integração de todas as peças do software é realizada somente ao final, o que pode e deve gerar muita dor de cabeça para a equipe, além de possíveis atrasos. Nossa empresa fictícia não irá passar por esse ciclo, uma vez que iremos implementar inicialmente um servidor de build e adaptar o time de desenvolvedores para trabalhar dessa forma."

[...] continue lendo...

Artigos relacionados