Вы находитесь на странице: 1из 16

Integrao contnua em Java

Bruno P. Kinoshita http://www.kinoshita.eti.br

Introduo Quem sou eu


Bruno P. Kinoshita www.kinoshita.eti.br Engenheiro de Software Utilizo Jenkins em diversas tarefas do dia-a-dia Me divirto em Java, PHP, Python, Perl, C, C++, Lua, * Planejo, escrevo e executo testes Participo de projetos Open Source tap4j, TestLink, Jenkins TestLink Plug-in, testlink-java-api, FontyPython, BellmanZadeh, CVB, Apache Functor, ...

Bruno P. Kinoshita http://www.kinoshita.eti.br

Integrao Contnua... e Elefantes

Frequentamente integrando os pedaos do software Em intervalos curtos de tempo Cada integrao recebe o nome de Build Erros de integrao so detectados rapidamente Menos problemas de integrao

Conjunto de prticas simples que reduz tempo e problemas para integrar um software
Bruno P. Kinoshita http://www.kinoshita.eti.br

Como comeo a fazer CI?

Bruno P. Kinoshita http://www.kinoshita.eti.br

Usar um Gerenciador de Verso de Software Automatizando processos como:

Compilao Execuo de Testes Integrao com outros sistemas Inspeo de cdigo Deploy automatizado Gerao de documentao

Utilizando um servidor de CI que facilite a automatizao Construindo continuamente

Bruno P. Kinoshita http://www.kinoshita.eti.br

Que tal pensar em pipelines?


Bruno P. Kinoshita http://www.kinoshita.eti.br

Bruno P. Kinoshita http://www.kinoshita.eti.br

Boas Prticas

Integrar em intervalos curtos de tempo Manter o Build rpido Cuide dos seus Builds Construa seu software em um ambiente semelhante ao de Automatize! Divirta-se!

produo

Bruno P. Kinoshita http://www.kinoshita.eti.br

Vantagens

Custo de desenvolvimento menor Risco menor Erros de integrao so detectados mais rapidamente Software desenvolvido com mais coeso Aumento da qualidade do software Todos podem ver o que est acontecendo Um produto entregvel mais rpido / facilmente Mais agilidade (automatizando, boas prticas, ferramentas, ) Time focado em evitar e resolver regresses

Bruno P. Kinoshita http://www.kinoshita.eti.br

Desvantagens
Leva um certo tempo para preparar todo o ambiente H um custo com infraestrutura Mudana de paradigma / cultura

Bruno P. Kinoshita http://www.kinoshita.eti.br

Demo
Bruno P. Kinoshita http://www.kinoshita.eti.br

FIM Perguntas? Obrigado!!!

Bruno P. Kinoshita http://www.kinoshita.eti.br

Bruno P. Kinoshita http://www.kinoshita.eti.br

#1 Testes Unitrios

Testar cada componente do sistema Simples e rpido de executar Triggering Executando com master e slaves Usando diferentes plug-ins Integrando com Sonar Concorrente, paralelo, diferentes nveis

Bruno P. Kinoshita http://www.kinoshita.eti.br

#2 Testes de Integrao

Deploy de diferentes aplicaes e test doubles Gerando massa de dados para os testes Criando diferentes tipos de jobs Medindo cobertura de testes

Bruno P. Kinoshita http://www.kinoshita.eti.br

#3 Testes Funcionais

Rodando seus testes Selenium no Jenkins Jenkins no modo headless Usando Jenkins TestLink Plug-in

Bruno P. Kinoshita http://www.kinoshita.eti.br