continuous mobile: entrega e integração contínuas em ios e android
DESCRIPTION
Palestra realizada no QCOn SP 2014, por Victor Nascimento e Thiago Lioy, no dia 11 de abril. Os consultores abordaram práticas de integração contínua e entrega contínua em Android e iOS, usando Jenkins e Bots.TRANSCRIPT
![Page 1: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/1.jpg)
Desenvolvemos produtos digitais
![Page 2: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/2.jpg)
Continuous Mobile: Entrega e Integração
Contínuas em iOS e Android
![Page 3: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/3.jpg)
Integração Contínua (IC)?
Temas
Deployment Continuo(DC)?
Topologia IC/DC Mobile
Desafios Mobile
QA & comentários
![Page 4: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/4.jpg)
Um projeto qualquer...
![Page 5: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/5.jpg)
O problema...
![Page 6: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/6.jpg)
Módulo de leitor de código de barra
![Page 7: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/7.jpg)
Na madrugada do Sábado …
![Page 8: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/8.jpg)
Como detectar o problema antes? Automatização!
Git Server
CI Server
CI faz um polling do git
Emulador 1 Emulador n
...Relatórios
Mobiledev - CD Server
(Concrete Solutions)
![Page 9: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/9.jpg)
Benefícios IC/DC
• Aumento da inspeção e consequente aumento da transparência
• Garantia de execução de testes a cada commit (polling do SIC)
• Dar mais confiança para o time em atualizações de versões
• Repetibilidade da verificação de erros reais
• One click Deploy (Production)
• Scare Friday ? Deploys de sexta-feira
![Page 10: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/10.jpg)
Automatização = !ADT && !Studio
![Page 11: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/11.jpg)
Build automatizado - Android
Provavelmente será
depreciado logo…
A melhor opção para quem já está acostumado com Java
e Eclipse. Comunidade altamente ativa!
Muito bom se você não usa o Eclipse, maaaas
ainda não está completo…
![Page 12: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/12.jpg)
Automatização ! Scriptando em iOS
![Page 13: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/13.jpg)
• Matriz de problemas: vértice A (versões do Android) x vértice B (densidades de telas)
• http://square.github.io/spoon/ execução do projeto em todos os devices que o adb encontrar
• Jenkins Matrix Parameter Job
• Próximas versões do Android Maven
• Plugins terão suporte à execução
• Paralela dos testes do projeto
Emuladores - Android
![Page 14: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/14.jpg)
iOS - CI com Bots• Integração com simuladores built in
• Plataforma da Apple / Vantagens a longo prazo (Evolução do produto)
• Pouco customizável . So far!
• Relatórios
• Integração com CocoaPods
![Page 15: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/15.jpg)
iOS - CI com Jenkins
• Scripts para build, test e archive usando Xcodebuild cmd line tools
• + Customizável
• + Relatórios
• Boa integração com Cocoapods (Pre Step build)
• Free
• Plataforma + madura
![Page 16: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/16.jpg)
iOS - CI com Jenkins
![Page 17: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/17.jpg)
Android - CI com Jenkins
• Emuladores por meio do plugin Android Emulator Plugin
![Page 18: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/18.jpg)
Android - CI com Jenkins
![Page 19: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/19.jpg)
Tests
• Testes Unitários
• Testes de Integração
• Testes de Usabilidade
• Frameworks de Test (Torne escrever tests fácil ou "esqueça")
• Relatório de Cobertura de Tests como ferramenta de inspeção e incentivo à escrita de tests, e não como métrica a ser alcançada. (100%)
![Page 20: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/20.jpg)
Soluções Deployment Continuo
• TestFlight (iOS*)
• Solução Interna MobileDev
• Appaloosa (https://www.appaloosa-store.com/)
• Appblade (https://appblade.com/)
• Google Play Native App Beta Testing (Android*)
• Alternativas
![Page 21: Continuous Mobile: Entrega e Integração Contínuas em iOS e Android](https://reader031.vdocuments.mx/reader031/viewer/2022020718/553944104a79595b7a8b4990/html5/thumbnails/21.jpg)
blog.concretesolutions.com.br
@ConcreteS
facebook.com/ConcreteS