Ruby Conf Brasil 2015

401 visualizações

Publicada em

Apresentação realizada na RubyConfBr 2015

Publicada em: Internet
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
401
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Ruby Conf Brasil 2015

  1. 1. Continuous Integration, Automated Builds e Continuous Deployment, desenvolvimento com qualidade Locaweb, 19 de setembro de 2015 RobsonAgapitoCorrea
  2. 2. Robson Agapito  Divulgador de Qualidade de Software  Coordenador de Qualidade na Locaweb  br.linkedin.com/in/robsonagapito  www.testadores.com  @robsonagapito
  3. 3. COMO ERA ANTES API API API API API SYSTEMS SYSTEMSSYSTEMS 1 REPO DEV REPO QA REPO PRODUÇÃO BRICKLAYER
  4. 4. MANUAL?!? Disponibilizado no Repo pelo BRICKLAYER, tudo bem... mas como era instalado nas máquinas?
  5. 5. TUDO MANUAL!!!! TUDO MANUAL ?!?!? NÃOOOOO!!!!! QUANDO MENOS SE ESPERA...
  6. 6. 3 QAs Júnior 1 QA Sênior 2 Especialistas 3 QAs Júnior 1 QA Sênior 1 Especialista +1 Especialista -1 Especialista O QUE PENSAMOS PARA 2014
  7. 7. NA NA NI NA NÃO!
  8. 8. PRIMEIRO PASSO Contratação de um QAOps + QUE 500 MÁQUINAS
  9. 9. VERSIONAMENTO Semantic Version 2.0 1.2.34 major.minor.patch
  10. 10. JENKINS CENTRALIZADO
  11. 11. CONTINUOUS INTEGRATION DEBIAN 6 - SQUEEZE DEBIAN 8 - JESSIE
  12. 12. BUILDS CI DEBIAN 6 - SQUEEZE DEBIAN 8 - JESSIE
  13. 13. PROMOÇÃO DE PACOTES REPO PROD CI DEV PRODUÇÃOQA Package Installer
  14. 14. APOIO (CI) – GEMS/BIBLIOTECAS SIMPLECOV BRAKEMAN BUNDLER-AUDITING CI
  15. 15. TESTES DE SISTEMAS - FUNCIONAIS ... DEV QA CI NÓ 01 NÓ 02 NÓ N
  16. 16. OLHANDO NA PRÁTICA
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. PRÓXIMOS PASSOS Utilização do Docker
  21. 21. PRÓXIMOS PASSOS Utilização do Package Installer nos projetos que são possíveis
  22. 22. PRÓXIMOS PASSOS Testes Não Funcionais (Foco em Performance)
  23. 23. PRÓXIMOS PASSOS BDD (Behavior Driven Development)
  24. 24. PRÓXIMOS PASSOS Um QAOps por time
  25. 25. PRÓXIMOS PASSOS Ambiente de QA em High Availability (HA)
  26. 26. PRÓXIMOS PASSOS Preparação de Continuous Deployment em Produção http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  27. 27. Dúvidas?
  28. 28. Robson Agapito Correa robson.agapito@locaweb.com.br robsonagapito@gmail.com Muito Obrigado!
  29. 29. Estamos contratando! Front End / Back End
  30. 30. Continuous Integration, Automated Builds e Continuous Deployment, desenvolvimento com qualidade RubyConf, 19 de setembro de 2015 RobsonAgapitoCorrea

×