ruby conf brasil 2015

30
Continuous Integration, Automated Builds e Continuous Dep desenvolvimento com qualidade Locaweb, 19 de setembro de 2015 Robson Agapito Correa

Upload: robson-agapito-correa

Post on 20-Mar-2017

442 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Ruby Conf Brasil 2015

Continuous Integration, Automated Builds e Continuous Deployment, desenvolvimento com qualidade

Locaweb, 19 de setembro de 2015

Rob

son

Aga

pito

Cor

rea

Page 2: Ruby Conf Brasil 2015

Robson Agapito

Divulgador de Qualidade de Software

Coordenador de Qualidade na Locaweb

br.linkedin.com/in/robsonagapito

www.testadores.com

@robsonagapito

Page 3: Ruby Conf Brasil 2015

COMO ERA ANTES

APIAPI

API

API

API

SYSTEMS

SYSTEMSSYSTEMS

1

REPODEV

REPOQA

REPOPRODUÇÃO

BRICKLAYER

Page 4: Ruby Conf Brasil 2015

MANUAL?!?

Disponibilizado no Repo pelo BRICKLAYER,

tudo bem... mas como era instalado nas máquinas?

Page 5: Ruby Conf Brasil 2015

TUDO MANUAL!!!!

TUDO MANUAL ?!?!?NÃOOOOO!!!!!

QUANDO MENOS SEESPERA...

Page 6: Ruby Conf Brasil 2015

3 QAs Júnior1 QA Sênior2 Especialistas

3 QAs Júnior1 QA Sênior1 Especialista

+1 Especialista

-1 Especialista

O QUE PENSAMOS PARA 2014

Page 7: Ruby Conf Brasil 2015

NA NA NI NA NÃO!

Page 8: Ruby Conf Brasil 2015

PRIMEIRO PASSO

Contratação de um QAOps

+ QUE500

MÁQUINAS

Page 9: Ruby Conf Brasil 2015

VERSIONAMENTO

Semantic Version 2.0

1.2.34major.minor.patch

Page 10: Ruby Conf Brasil 2015

JENKINS CENTRALIZADO

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

Page 11: Ruby Conf Brasil 2015

CONTINUOUS INTEGRATION

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

Page 12: Ruby Conf Brasil 2015

BUILDS

CI

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

Page 13: Ruby Conf Brasil 2015

PROMOÇÃO DE PACOTES

REPO PROD

CI

DEV PRODUÇÃOQA

Package Installer

Page 14: Ruby Conf Brasil 2015

APOIO (CI) – GEMS/BIBLIOTECAS

SIMPLECOV BRAKEMAN

BUNDLER-AUDITING

CI

Page 15: Ruby Conf Brasil 2015

TESTES DE SISTEMAS - FUNCIONAIS

...

DEV QA

CI

NÓ 01 NÓ 02 NÓ N

Page 16: Ruby Conf Brasil 2015

OLHANDO NA PRÁTICA

Page 17: Ruby Conf Brasil 2015

PRINCIPAIS DIFICULDADES

• Pouco conhecimento técnico do ambiente• Infraestrutura muito complexa• Somente olhar para QAs funcionais• Ambiente centralizado em uma pessoa apenas• Pouca automação para manter ambiente de QA• QA muito diferente de produção• Alterações em produção diretamente não

sendo replicadas em QA

Page 18: Ruby Conf Brasil 2015

PRINCIPAIS GANHOS

• Mesmo pacote transitando entre os ambientes• Versionamento oficial do pacote• Grid para testes funcionais com Selenium Webdriver• Jenkins centralizado• Possibilidade de colocar pontos de verificação durante

o processo de desenvolvimento• Maior proximidade de Devs / QAs / SysAdmin• Maior agilidade em acertar o ambiente de QA• Ter um ambiente de QA mais confiável• Monitoração do ambiente de QA• Conseguindo visualizar maior agilidade no processo de

desenvolvimento

Page 19: Ruby Conf Brasil 2015

LIÇÕES APRENDIDAS

• Utilize do conhecimento de todos na sua volta (Dev e SysAdmin)

• QAs tem que estar no time do projeto e não em um time separado

• Comunicação entre os QAs dos times de diferentes projetos ajuda a melhorar o projeto como um todo

• A coisa somente funciona se todos estiverem todos indo para o mesmo lado, então alinhamento é muito importante

• Para arquiteturas complexas é necessário um especialista da área

• Automação, automação e automação

Page 20: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Utilização do Docker

Page 21: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Utilização do Package Installer nos projetos que são possíveis

Page 22: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Testes Não Funcionais(Foco em Performance)

Page 23: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

BDD(Behavior Driven Development)

Page 24: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Um QAOps por time

Page 25: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Ambiente de QA em High Availability (HA)

Page 26: Ruby Conf Brasil 2015

PRÓXIMOS PASSOS

Preparação de Continuous Deployment em Produção

http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment

Page 27: Ruby Conf Brasil 2015

Dúvidas?

Page 28: Ruby Conf Brasil 2015

Robson Agapito [email protected]

[email protected]

Muito Obrigado!

Page 29: Ruby Conf Brasil 2015

Estamos contratando!

Front End / Back End

Page 30: Ruby Conf Brasil 2015

Continuous Integration, Automated Builds e Continuous Deployment, desenvolvimento com qualidade

RubyConf, 19 de setembro de 2015

Rob

son

Aga

pito

Cor

rea