UAI Test - Introdução Prática ao Jenkins

Preview:

DESCRIPTION

Mini-curso apresentado no evento UAI Test, em Uberlândia, no dia 22 de Novembro de 2014.

Citation preview

Introdução Práticaao Jenkins

Stefan Teixeirastefanfk@gmail.com / stefanteixeira.com.br

Sobre o palestranteStefan Teixeira

• QA/DevOps Engineer @ Rastreabilidade Brasil• Bacharel em Ciência da Computação pela UFRJ• MBA em Garantia de Qualidade de Software pela Escola Politécnica

da UFRJ• Mantém um blog técnico sobre testes: stefanteixeira.com.br• Certificado CTAL-TM / TA pelo ISQTB e CPRE-FL pelo IREB

Contatos:• E-mail: stefanfk@gmail.com• Twitter: twitter.com/stefan_teixeira• Facebook: facebook.com/stefan.teixeira• LinkedIn: linkedin.com/in/stefanteixeira• GitHub: github.com/stefanteixeira• SlideShare: slideshare.net/stefanteixeira

Integração Contínua

Origem: Extreme Programming

Práticas de CI

• Mantenha um repositório de código fonte

• Automatize o build

• Rode testes no seu build

• Todos devem commitar frequentemente

• Todo commit deve ser "buildado"

• Conserte builds quebrados imediatamente

• …

Práticas de CI (cont.)

• …

• Mantenha o build rápido

• Teste em um ambiente similar ao de Produção

• Torne fácil o acesso aos últimos entregáveis

• Todos podem ver os resultados dos builds

• Automatize o deploy

Fonte: “Testes Automatizados” https://prezi.com/ehczieu-bagz/testes-automatizados/ (Rodrigo de Toledo e Carlos Felippe Resende)

Feedback

https://www.youtube.com/watch?v=1EGk2rvZe8A

Vantagens

Fim do “cobertor curto" Fim do “na minha máquina funciona"

Ferramentas

Conceitos

• Integração Contínua (Continuous Integration)

• Entrega Contínua (Continuous Delivery)

• Deploy Contínuo (Continuous Deployment)

Jenkins

Sobre o Jenkins

• Fork do Hudson (2011)

• Open source

• Rápida curva de aprendizado

• Mais de 1000 plugins disponíveis

• Extensível

Mão na massa!

Projeto de exemplo

O que vamos fazer?

• Acessar https://github.com/stefanteixeira/exemplo-ghostdriver-uai-test

• Colocar Jenkins no ar

• Instalar plugins

• Configurar o Jenkins

• Criar e configurar um novo job

• Executar o job

• Explorar os resultados do build

Para saber mais…

Post com passo-a-passo

• http://goo.gl/7X4Ftk

Artigo do Martin Fowler: http://www.martinfowler.com/articles/continuousIntegration.html

Obrigado!

Stefan Teixeirastefanfk@gmail.comstefanteixeira.com.br@stefan_teixeira