Este documento discute a ferramenta de integração contínua Jenkins. Ele descreve o que é Jenkins e como ele automatiza builds, testes e análise de código. Também lista alguns projetos e scripts já configurados no Jenkins da empresa e discute como ele e outras ferramentas como Sonar podem ser melhor utilizados e expandidos no futuro.
3. Proprietário & Confidencial
AGENDA
• JENKINS: O que é? O que faz?
• O que ele não faz!
• Já temos isso aqui? Mas é usado?
• O que já temos em funcionamento?
• Indo além do Jenkins: Sonar
• O que podemos melhorar/automatizar?
• Discussão
4. Proprietário & Confidencial
Jenkins: O que é ? O que faz?
Jenkins
Jenkins é um servidor de Integração Contínua;
Vantagens:
Builds periódicos;
Testes automatizados;
Possibilita analise de código;
Identificar erros mais cedo;
Fácil de operar e configurar;
Comunidade ativa;
Grande diversidade de plugins;(Git, Docker, Gradle);
Integração contínua consiste em integrar
o trabalho diversas vezes ao dia,
assegurando que a base de código
permaneça consistente ao final de cada
integração.
5. Proprietário & Confidencial
O que ele não faz
Jenkins
Desenvolver;
Gerencia Dependências(Como o Nexus ou Artifactory);
Gerencia Infra-Estrutura (Ele utiliza a infra, mas não administra ela);
Milagre.
6. Proprietário & Confidencial
Já temos isso aqui? Mas é usado?
Jenkins
Já temos! Equipe de Java e C possuem seus ambientes do Jenkins
configurados e rodando.
http://labjava.internal.suntech.com.br:8080
(user: jenkins / password: jacare1)
A ideia desta apresentação, além de apresentar o uso da ferramenta e mostrar o
que já está feito, é estimular a discussão e o USO desta dentro da empresa.
7. Proprietário & Confidencial
O que já temos em funcionamento?
Jenkins
Muito precisa ser feito ainda. Mas o passo inicial já foi dado!
Os seguintes serviçosjá estão no Jenkins:
Serviços
Infoguard – |Build <Trunk>| → |Repositório.suntech| → | Atualização LAB |
Vigia 4 – |Build <Versão>| → |Repositório.suntech| → | Atualização LAB |
8. Proprietário & Confidencial
O que já temos em funcionamento?
Jenkins
Os seguintes SCRIPTS já estão no Jenkins:
migracao-vigia-features : Atualizar bancos das operadoras(DEV|PROD) com
as features do VIGIA_FEATURE
insert-eventos : Inserir eventos nas bases do vigia, para testes/desenv.
(WEB/WAP/POC/MMS/IRI/LOC_EVENTO/ROM_EVENTO)
deploy-vigia-elite : Atualização do vigia-elite-XYZ no ambiente de LAB do vigia
(Atualização de banco + atualização de código)
10. Proprietário & Confidencial
Indo além do Jenkins:
Jenkins
Sonar : Verificar a qualidade do que é produzido.
Roda após todo build de alguma aplicação(Vigia/Infoguard)
Definição de métricas(Se está melhorando ou não) - “Gates”
Definir qual módulo monitorar(Ex:
Cadastro/Consulta)
Já temos! Ambiente configurado e rodando.
http://labjava.internal.suntech.com.br:9000/
(mesma máquina do jenkins)
11. Proprietário & Confidencial
Indo além do Jenkins:
Jenkins
Sonar : Verificar a qualidade do que é produzido.
Roda após todo build de alguma aplicação(Vigia/Infoguard)
Definição de métricas(Se está melhorando ou não) - “Gates”
Definir qual módulo monitorar(Ex:
Cadastro/Consulta)
Assim como o Jenkins, o Sonar também não faz milagre.
14. Proprietário & Confidencial
O que podemos melhorar/automatizar?
Jenkins
Disseminar | Tornar uma prática comum
Outros Scripts?
Adicionar os outros projetos? (FirstMile/Build Versões Elite)
Limitações de Infra(Produção)