Fase Experimental do Serviço de Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmico (FE-ATER)

Ir para o final dos metadados
Ir para o início dos metadados

Motivação

O processo de integração contínua é muito importante para o desenvolvimento e manutenção de um software. O objetivo principal de utilizar a integração contínua é verificar se as alterações ou novas funcionalidades não criaram novos defeitos no projeto já existente. Atualmente o ATER não possui nenhum processo de qualidade e checagem de código automatizado. Os testes são elaborados e aplicados diretamente pelos programadores. Com isso foi discutido a implantação do processo de IC no ATER, devido ele estar se tornando um software robusto e complexo, sendo assim, simples alterações podem afetar grande parte do software. 

Cenário

Cenário de implantação da IC

Ferramentas

SonarQube

É uma plataforma Open Source para análise de código continuamente.

SonarQube oferece relatórios sobre código duplicado , padrões de codificação , testes unitários , cobertura de código, complexidade do código, comentários,  erros e vulnerabilidades de segurança.

GitLab

Atualmente já utilizamos o GitLab da RNP. Para implementação da integração contínua é necessário somente  a integração com o Servidor de Integração contínua.

Jenkins

Jenkins é um servidor de automação de código aberto escrito em Java . A Jenkins ajuda a automatizar a parte não humana do processo de desenvolvimento de software , com integração contínua e facilitando aspectos técnicos de entrega contínua .

Descrição do processo:

  1. Codificação é feita nas máquinas locais.
  2. Desenvolvedor aplica testes unitários, realiza testes no ambiente virtual e faz commit das alterações no Gitlab.
  3. Jenkins faz um pull dessas alterações e realiza os testes, juntamente com o SonarQube.
  4. É gerado um pacote.
  5. Pacotes são atualizados no ambiente de produção.

*Uma descrição mais detalhada do processo pode ser realizada durante a implantação da IC.

Implantação:

A recomendação é que as ferramentas sejam implantadas de forma gradual, realizando testes e experimentando configurações.

O SonarQube e o Jenkins executam em uma máquina servidora.


Etiquetas
  • Nenhum