Continuous Mobile: Entrega e Integração Contínuas em iOS e Android

Post on 22-Apr-2015

562 views 2 download

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 of Continuous Mobile: Entrega e Integração Contínuas em iOS e Android

Desenvolvemos produtos digitais

Continuous Mobile: Entrega e Integração

Contínuas em iOS e Android

Integração Contínua (IC)?

Temas

Deployment Continuo(DC)?

Topologia IC/DC Mobile

Desafios Mobile

QA & comentários

Um projeto qualquer...

O problema...

Módulo de leitor de código de barra

Na madrugada do Sábado …

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)

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

Automatização = !ADT && !Studio

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…

Automatização ! Scriptando em iOS

• 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

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

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

iOS - CI com Jenkins

Android - CI com Jenkins

• Emuladores por meio do plugin Android Emulator Plugin

Android - CI com Jenkins

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%)

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

blog.concretesolutions.com.br

@ConcreteS

facebook.com/ConcreteS

victor.nascimento@concretesolutions.com.br

thiago.lioy@concretesolutions.com.br