Por que eu devo ler este artigo:Este artigo ajudará a entender, na prática, como funciona o processo de análise estática de código em projetos gerenciados sob o modelo da integração contínua. Ao longo do texto, seremos apresentados aos passos necessários para, a partir de ferramentas e plataformas como Jenkins, Git, Maven e SonarQube, medir continuamente a qualidade de um projeto de software e avaliá-lo sob perspectivas fundamentais, tais como a do débito técnico.

Em artigos publicados nas edições 147 e 148 da Java Magazine, abordamos alguns dos conceitos chave em DevOps, tanto sob a perspectiva do Desenvolvimento quanto de Operações.

Nestas ocasiões, estudamos plataformas e tecnologias bastante populares, como Apache Maven, Jenkins, Eclipse e Redmine, resultando na configuração de um ambiente tal qual o ilustrado na Figura 1.

Neste texto, revisaremos muitos dos tópicos descritos nos artigos citados a fim de adicionarmos a esta cadeia um importante passo: a análise contínua de qualidade. Para isso, usaremos uma ferramenta muito popular, chamada SonarQube, que nos permitirá realizar medições apuradas e constantes de aspectos essenciais de um projeto de software, com destaque para um conceito denominado Débito Técnico.

Ao longo de todo o tutorial que se segue, usaremos maciçamente serviços oferecidos sob a chancela da ‘cloud computing’. Todas as ferramentas serão provisionadas por meio de soluções de PaaS e SaaS, tais como OpenShift e GitHub. A principal motivação para isto é ilustrar, principalmente, os inúmeros benefícios dos quais se pode usufruir ao se substituir o modelo de infraestrutura in-house, tais como: redução significativa de custos e uma considerável melhoria em indicadores como produtividade, eficiência, disponibilidade, escalabilidade e segurança.

Nosso estudo ao longo deste texto será iniciado pela configuração de um ambiente de integração contínua, estabelecendo um canal fluido de comunicação entre um repositório de código-fonte do projeto – hospedado em uma conta no GitHub – e um servidor Jenkins – criado e hospedado na plataforma OpenShift. O objetivo será garantir que, a cada submissão de código realizada por um desenvolvedor, seja disparado um processo de build no servidor de integração contínua, sem a necessidade de intervenção manual.

Figura 1. Estado inicial do projeto para este artigo.

A Integração Contínua de Software

Um processo de integração contínua pode ser entendido como um conjunto de medidas que, quando adotadas, permitem que um software evolua de forma consistente e controlada. Tais medidas são:

· Gestão automatizada do ciclo de vida do software;

· Controle de versão do código-fonte;

· Automação de testes;

· Automação do processo de build.

O principal benefício desta prática é poder avaliar constantemente o impacto promovido por modificações na estrutura lógica de um projeto, seja por introdução de conteúdo novo ou adaptações em unidades de código-fonte pré-existentes. A partir deste modelo, uma equipe de desenvolvimento tende a aumentar significativamente o seu poder de reação a eventuais problemas que possam emergir ao longo do processo criativo, como conflitos de versão, falhas na execução de testes unitários, dentre outros. No trato popular, integração contínua é uma técnica que incorpora, na prática, a velha máxima de que ‘é preferível a prevenção ao remédio’.

Para seguir os passos desta primeira fase do tutorial, é necessário que o leitor crie a sua própria conta na OpenShift. O procedimento de cadastro é bem simples, e a página da plataforma pode ser encontrada na seção Links, ao final do artigo.

OpenShift e a linha de comando

A OpenShift é uma plataforma que oferece uma excelente ferramenta web de administração, com referências diretas para as aplicações hospedadas e informações essenciais sobre a natureza e o estado das mesmas. Entretanto, operar sistemas a partir de interfaces visuais pode ser um trabalho pouco eficiente, se comparado à flexibilidade e rapidez que um terminal oferece.

Neste sentido, a RedHat disponibiliza um poderoso utilitário chamado rhc, que utilizaremos em todas as fases do tutorial apresentado neste artigo. O processo de instalação está muito bem documentado na página oficial da OpenShift, e o link para este material está registrado na seção Links. Acompanharemos, nesta seção, o passo a passo da in ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora