ruby conf brasil 2015

Post on 20-Mar-2017

442 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Locaweb, 19 de setembro de 2015

Rob

son

Aga

pito

Cor

rea

Robson Agapito

Divulgador de Qualidade de Software

Coordenador de Qualidade na Locaweb

br.linkedin.com/in/robsonagapito

www.testadores.com

@robsonagapito

COMO ERA ANTES

APIAPI

API

API

API

SYSTEMS

SYSTEMSSYSTEMS

1

REPODEV

REPOQA

REPOPRODUÇÃO

BRICKLAYER

MANUAL?!?

Disponibilizado no Repo pelo BRICKLAYER,

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

TUDO MANUAL!!!!

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

QUANDO MENOS SEESPERA...

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

NA NA NI NA NÃO!

PRIMEIRO PASSO

Contratação de um QAOps

+ QUE500

MÁQUINAS

VERSIONAMENTO

Semantic Version 2.0

1.2.34major.minor.patch

JENKINS CENTRALIZADO

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

CONTINUOUS INTEGRATION

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

BUILDS

CI

DEBIAN 7 - WHEEZY

DEBIAN 6 - SQUEEZE

DEBIAN 8 - JESSIE

PROMOÇÃO DE PACOTES

REPO PROD

CI

DEV PRODUÇÃOQA

Package Installer

APOIO (CI) – GEMS/BIBLIOTECAS

SIMPLECOV BRAKEMAN

BUNDLER-AUDITING

CI

TESTES DE SISTEMAS - FUNCIONAIS

...

DEV QA

CI

NÓ 01 NÓ 02 NÓ N

OLHANDO NA PRÁTICA

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

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

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

PRÓXIMOS PASSOS

Utilização do Docker

PRÓXIMOS PASSOS

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

PRÓXIMOS PASSOS

Testes Não Funcionais(Foco em Performance)

PRÓXIMOS PASSOS

BDD(Behavior Driven Development)

PRÓXIMOS PASSOS

Um QAOps por time

PRÓXIMOS PASSOS

Ambiente de QA em High Availability (HA)

PRÓXIMOS PASSOS

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

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

Dúvidas?

Robson Agapito Correarobson.agapito@locaweb.com.br

robsonagapito@gmail.com

Muito Obrigado!

Estamos contratando!

Front End / Back End

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

RubyConf, 19 de setembro de 2015

Rob

son

Aga

pito

Cor

rea

top related