SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Realizando entregas
contínuas para seu app
com codepush
Roteiro
04
05
06
01
02
03
Quem sou eu
Entendendo a problemática
Integração contínua
Entrega contínua
Codepush
Perguntas
Quem sou eu ?
Rodolfo Bueno
Desenvolvedor: 9+ anos
Líder Técnico: 4+ anos
Atualmente trabalho na TOTVS Goiânia.
Filho de uma mãe: 30 anos
Esposo de uma fisioterapeuta: 2+ anos
Corredor de rua: 2+ anos
Futuro maratonista ! =]
linkedin.com/in/rodolfobueno
@buenorodolfo
Nos dias de hoje ...
Tive uma ideia !!
Preciso ficar rico(a) !
$$$$$$$$$$$$$$
Desafios
Descobrir como validar sua boa ideia, transformá-la em um
sistema/app e entregá-lo aos usuários o quanto antes.
Aplicativo em produção ?
Manter meu produto atualizado de acordo com as
necessidades dos meus clientes e as tendências
de mercado.
Publicação/Atualização de apps nas lojas
Minha frustração
14 dias para conseguir atualizar um APP feito em React Native na Apple
Store corrigindo itens que não tinham sido ‘gerados’ por mim e que já
existiam no APP.
Meu desejo
Eu PRECISO fazer entregas mais rápidas para meus clientes.
- Será que realmente tem como tornar esse
processo menos doloroso ?
- Como vou corresponder as necessidades do
mercado em tempo hábil diante dos obstáculos ?
- É possível ser feliz como programador ?
- É possível algum time goiano ser campeão
brasileiro da série A ?
Grilei e resolvi jogar um pouco e me deparei com
a mensagem ...
Codepush
- Cloud-hosted builds
- Automated UI tests
- Crash reports
- Analytics
- Push services
Um passo de cada vez
Integração Contínua
Deploy Contínuo
Entrega Contínua
Martin Fowler
“Continuous Integration is a software development
practice where members of a team integrate their work
frequently, usually each person integrates at least daily -
leading to multiple integrations per day. Each integration
is verified by an automated build (including test) to detect
integration errors as quickly as possible. Many teams find
that this approach leads to significantly reduced
integration problems and allows a team to develop
cohesive software more rapidly..”
Integração contínua
Qual o mínimo de Integração contínua que eu devo ter ?
Versionamento de código
Build automatizado
Testes automatizados
Entrega contínua x Deploy Contínuo
“Continuous Delivery is the ability to get changes of all types—including new features, configuration
changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly
in a sustainable way.”
Martin Fowler
Benefícios
- Lançamento de releases com baixo risco
- Rápida resposta ao mercado
- Maior qualidade
- Menores custos
- Times mais felizes
Entrega contínua x Deploy Contínuo
(o usuário decide) (totalmente automatizado)
O que é ? Pra que serve ? O que come ?
É uma solução criada pela Microsoft que permite a atualização de
pedaços de código feitos em Javascript sem que seja necessária
uma nova publicação na loja.
Obs:
- Alterações em códigos nativos tem que passar pelo processo tradicional de atualização.
- As lojas permitem o uso de ferramenta desde que suas alterações não sejam muito
drásticas. Ex: Mudar toda a forma de navegação do aplicativo.
Voltando ao Codepush...
Como funciona ?
image copyright: Microsoft
Começando...
Criando um novo projeto no
Appcenter
Controle por ambiente e versionamento
- STAGING
- PRODUCTION
- Qualquer outra que você queira criar
Versionamento
- O codepush irá controlar as atualizações através do ‘Target Version’. Ou seja, essa versão não mudará quando você resolver
subir uma nova versão do seu app com uma correção ou atualização.
Criando um novo projeto React Native
Alterações - Arquivos da Plataforma Android
Alterações - Javascript
Subindo versão para o AppCenter
Rodando o projeto - v1
Hands On
“on the line”
Atualizando o projeto
- Meetups
- Artigos
- Networking
Sigam a nossa comunidade
Obrigado!
Alguma dúvida ?
“se sei digo que sei se não sei digo que não sei”
Rodolfo Azevedo Bueno
rodolfo.bueno13@gmail.com
@buenorodolfo
https://www.linkedin.com/in/rodolfobueno
@comunidadegojs
CREDITS
This is where you give credit to the ones who are part of this project.
● Presentation template by Slidesgo
● Icons by Flaticon
● Infographics by Freepik
● Images created by Freepik
● Author introduction slide photo created by Freepik
● Text & Image slide photo created by Freepik

Mais conteúdo relacionado

Mais procurados

Quer testar os novos softwares da Aue Soluções?
Quer testar os novos softwares da Aue Soluções?Quer testar os novos softwares da Aue Soluções?
Quer testar os novos softwares da Aue Soluções?Regina Motta
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Elias Nogueira
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresElias Nogueira
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app HíbridaElias Nogueira
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsAndré Paulovich
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingSamanta Cicilia
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoElias Nogueira
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...iMasters
 
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Mariana Elisa Moisés , CTFL-AT,MBA
 
A importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosA importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosElias Nogueira
 
CFBR 2012 | O desenvolvedor tem sempre razão
CFBR 2012 | O desenvolvedor tem sempre razãoCFBR 2012 | O desenvolvedor tem sempre razão
CFBR 2012 | O desenvolvedor tem sempre razãoMedia Education
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Elias Nogueira
 
Automatizando testes de UI no Android com Espresso
Automatizando testes de UI no Android com EspressoAutomatizando testes de UI no Android com Espresso
Automatizando testes de UI no Android com EspressoVinícius de Paula
 
5. Análise Competitiva
5. Análise Competitiva5. Análise Competitiva
5. Análise CompetitivaCamila Achutti
 
Como organizar projetos em django
Como organizar projetos em djangoComo organizar projetos em django
Como organizar projetos em djangoLuiz Sotero
 
Palestra IFG - Desenvolvimento Front-end
Palestra IFG - Desenvolvimento Front-endPalestra IFG - Desenvolvimento Front-end
Palestra IFG - Desenvolvimento Front-endRodrigo Caneppele
 
4. Projeto Voltado para o Usuário
4. Projeto Voltado para o Usuário4. Projeto Voltado para o Usuário
4. Projeto Voltado para o UsuárioCamila Achutti
 

Mais procurados (20)

Quer testar os novos softwares da Aue Soluções?
Quer testar os novos softwares da Aue Soluções?Quer testar os novos softwares da Aue Soluções?
Quer testar os novos softwares da Aue Soluções?
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadores
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
 
Apresentacao Cypress - Cases Adobe AEM
Apresentacao Cypress - Cases Adobe AEMApresentacao Cypress - Cases Adobe AEM
Apresentacao Cypress - Cases Adobe AEM
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile Testing
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercado
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
 
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!
 
A importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosA importancia de testes em todos os aspectos
A importancia de testes em todos os aspectos
 
CFBR 2012 | O desenvolvedor tem sempre razão
CFBR 2012 | O desenvolvedor tem sempre razãoCFBR 2012 | O desenvolvedor tem sempre razão
CFBR 2012 | O desenvolvedor tem sempre razão
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
 
Automatizando testes de UI no Android com Espresso
Automatizando testes de UI no Android com EspressoAutomatizando testes de UI no Android com Espresso
Automatizando testes de UI no Android com Espresso
 
5. Análise Competitiva
5. Análise Competitiva5. Análise Competitiva
5. Análise Competitiva
 
Como organizar projetos em django
Como organizar projetos em djangoComo organizar projetos em django
Como organizar projetos em django
 
Palestra IFG - Desenvolvimento Front-end
Palestra IFG - Desenvolvimento Front-endPalestra IFG - Desenvolvimento Front-end
Palestra IFG - Desenvolvimento Front-end
 
4. Projeto Voltado para o Usuário
4. Projeto Voltado para o Usuário4. Projeto Voltado para o Usuário
4. Projeto Voltado para o Usuário
 

Semelhante a Realizando entregas contínuas com codepush

Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Vinta Software
 
Criando apps nativos com react e javascript. Hands-on
Criando apps nativos com react e javascript. Hands-onCriando apps nativos com react e javascript. Hands-on
Criando apps nativos com react e javascript. Hands-onRodolfo Bueno
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsAdriano Bertucci
 
Controlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSControlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSRodrigo Kono
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsMichel Cordeiro
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareLaura_ifpe
 
Rails Girls - Minimum viable product
Rails Girls - Minimum viable productRails Girls - Minimum viable product
Rails Girls - Minimum viable productBruno Henrique - Garu
 
DevOps - Novos Desafios para TI
DevOps - Novos Desafios para TIDevOps - Novos Desafios para TI
DevOps - Novos Desafios para TICarlos Buzeto
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoValquíria Duarte D'Amato
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Sistemas ERP - Implantação e tendências de mercado
Sistemas ERP - Implantação e tendências de mercadoSistemas ERP - Implantação e tendências de mercado
Sistemas ERP - Implantação e tendências de mercadorobisson_oliveira
 
Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Renato Breaking
 
Google Apps Script
Google Apps ScriptGoogle Apps Script
Google Apps ScriptCIJUN
 
Métodos Ágeis de Desenvolvimento de Software: Uma introdução
Métodos Ágeis de Desenvolvimento de Software: Uma introduçãoMétodos Ágeis de Desenvolvimento de Software: Uma introdução
Métodos Ágeis de Desenvolvimento de Software: Uma introduçãoMaurício Aniche
 

Semelhante a Realizando entregas contínuas com codepush (20)

Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.
 
DevOps - Operação contínua
DevOps - Operação contínuaDevOps - Operação contínua
DevOps - Operação contínua
 
Criando apps nativos com react e javascript. Hands-on
Criando apps nativos com react e javascript. Hands-onCriando apps nativos com react e javascript. Hands-on
Criando apps nativos com react e javascript. Hands-on
 
DevOps e App Insights
DevOps e App InsightsDevOps e App Insights
DevOps e App Insights
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
DevOps
DevOpsDevOps
DevOps
 
Base2 Tecnologia
Base2 TecnologiaBase2 Tecnologia
Base2 Tecnologia
 
2PHP_Metodologia
2PHP_Metodologia2PHP_Metodologia
2PHP_Metodologia
 
Controlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSControlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTS
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkins
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Rails Girls - Minimum viable product
Rails Girls - Minimum viable productRails Girls - Minimum viable product
Rails Girls - Minimum viable product
 
DevOps - Novos Desafios para TI
DevOps - Novos Desafios para TIDevOps - Novos Desafios para TI
DevOps - Novos Desafios para TI
 
Webinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros ÁgeisWebinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros Ágeis
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Sistemas ERP - Implantação e tendências de mercado
Sistemas ERP - Implantação e tendências de mercadoSistemas ERP - Implantação e tendências de mercado
Sistemas ERP - Implantação e tendências de mercado
 
Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.
 
Google Apps Script
Google Apps ScriptGoogle Apps Script
Google Apps Script
 
Métodos Ágeis de Desenvolvimento de Software: Uma introdução
Métodos Ágeis de Desenvolvimento de Software: Uma introduçãoMétodos Ágeis de Desenvolvimento de Software: Uma introdução
Métodos Ágeis de Desenvolvimento de Software: Uma introdução
 

Realizando entregas contínuas com codepush

  • 1. Realizando entregas contínuas para seu app com codepush
  • 2. Roteiro 04 05 06 01 02 03 Quem sou eu Entendendo a problemática Integração contínua Entrega contínua Codepush Perguntas
  • 3. Quem sou eu ? Rodolfo Bueno Desenvolvedor: 9+ anos Líder Técnico: 4+ anos Atualmente trabalho na TOTVS Goiânia. Filho de uma mãe: 30 anos Esposo de uma fisioterapeuta: 2+ anos Corredor de rua: 2+ anos Futuro maratonista ! =] linkedin.com/in/rodolfobueno @buenorodolfo
  • 4. Nos dias de hoje ... Tive uma ideia !! Preciso ficar rico(a) ! $$$$$$$$$$$$$$
  • 5. Desafios Descobrir como validar sua boa ideia, transformá-la em um sistema/app e entregá-lo aos usuários o quanto antes. Aplicativo em produção ? Manter meu produto atualizado de acordo com as necessidades dos meus clientes e as tendências de mercado.
  • 7. Minha frustração 14 dias para conseguir atualizar um APP feito em React Native na Apple Store corrigindo itens que não tinham sido ‘gerados’ por mim e que já existiam no APP. Meu desejo Eu PRECISO fazer entregas mais rápidas para meus clientes.
  • 8. - Será que realmente tem como tornar esse processo menos doloroso ? - Como vou corresponder as necessidades do mercado em tempo hábil diante dos obstáculos ? - É possível ser feliz como programador ? - É possível algum time goiano ser campeão brasileiro da série A ?
  • 9. Grilei e resolvi jogar um pouco e me deparei com a mensagem ...
  • 10. Codepush - Cloud-hosted builds - Automated UI tests - Crash reports - Analytics - Push services
  • 11. Um passo de cada vez Integração Contínua Deploy Contínuo Entrega Contínua
  • 12. Martin Fowler “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly..” Integração contínua
  • 13. Qual o mínimo de Integração contínua que eu devo ter ? Versionamento de código Build automatizado Testes automatizados
  • 14. Entrega contínua x Deploy Contínuo “Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” Martin Fowler Benefícios - Lançamento de releases com baixo risco - Rápida resposta ao mercado - Maior qualidade - Menores custos - Times mais felizes
  • 15. Entrega contínua x Deploy Contínuo (o usuário decide) (totalmente automatizado)
  • 16. O que é ? Pra que serve ? O que come ? É uma solução criada pela Microsoft que permite a atualização de pedaços de código feitos em Javascript sem que seja necessária uma nova publicação na loja. Obs: - Alterações em códigos nativos tem que passar pelo processo tradicional de atualização. - As lojas permitem o uso de ferramenta desde que suas alterações não sejam muito drásticas. Ex: Mudar toda a forma de navegação do aplicativo. Voltando ao Codepush...
  • 17. Como funciona ? image copyright: Microsoft
  • 19. Criando um novo projeto no Appcenter
  • 20. Controle por ambiente e versionamento - STAGING - PRODUCTION - Qualquer outra que você queira criar Versionamento - O codepush irá controlar as atualizações através do ‘Target Version’. Ou seja, essa versão não mudará quando você resolver subir uma nova versão do seu app com uma correção ou atualização.
  • 21. Criando um novo projeto React Native
  • 22. Alterações - Arquivos da Plataforma Android
  • 23.
  • 25. Subindo versão para o AppCenter
  • 29. - Meetups - Artigos - Networking Sigam a nossa comunidade
  • 30. Obrigado! Alguma dúvida ? “se sei digo que sei se não sei digo que não sei” Rodolfo Azevedo Bueno rodolfo.bueno13@gmail.com @buenorodolfo https://www.linkedin.com/in/rodolfobueno @comunidadegojs
  • 31. CREDITS This is where you give credit to the ones who are part of this project. ● Presentation template by Slidesgo ● Icons by Flaticon ● Infographics by Freepik ● Images created by Freepik ● Author introduction slide photo created by Freepik ● Text & Image slide photo created by Freepik