Upload
robson-agapito-correa
View
445
Download
1
Embed Size (px)
Citation preview
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?
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