O documento descreve o processo de entrega contínua da Infoglobo, com três frases:
1) A Infoglobo implementou um pipeline de implantação automatizado para compilar, implantar, testar e implantar software de forma contínua;
2) O pipeline inclui testes automatizados, análise de logs e deploy em diferentes ambientes como integração, staging e produção;
3) O processo reduziu o tempo de entrega de software de 15 dias para 2 horas.
23. Pipeline de Implantação
● Implementação automatizada do processo de compilar todas as partes de uma
aplicação, implantá-las em um ambiente qualquer – homologação ou produção
– testá-la e efetuar sua entrega final.
24. Pipeline de Implantação
● Implementação automatizada do processo de compilar todas as partes de uma
aplicação, implantá-las em um ambiente qualquer – homologação ou produção
– testá-la e efetuar sua entrega final.
25. Pipeline de Implantação
● Implementação automatizada do processo de compilar todas as partes de uma
aplicação, implantá-las em um ambiente qualquer – homologação ou produção
– testá-la e efetuar sua entrega final.
40. Deploy em INTEGRAÇÃO
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Integração;
○ atualizar propriedades do binário.
41. Deploy em INTEGRAÇÃO
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Integração;
○ atualizar propriedades do binário.
● Saída: Servidores e propriedades do binário atualizados
52. Deploy em STAGING
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Staging;
○ atualizar propriedades do binário.
53. Deploy em STAGING
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Staging;
○ atualizar propriedades do binário.
● Saída: Servidores e propriedades do binário atualizados
66. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
67. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
● Verificação de erros 404 e 50X;
68. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
● Verificação de erros 404 e 50X;
● Envio de e-mail para todos os responsáveis;
69. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
● Verificação de erros 404 e 50X;
● Envio de e-mail para todos os responsáveis;
● Tomada de decisão se o processo vai até o final (Deploy em PRODUÇÃO);
70. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
● Verificação de erros 404 e 50X;
● Envio de e-mail para todos os responsáveis;
● Tomada de decisão se o processo vai até o final (Deploy em PRODUÇÃO);
● Muito importante para os produtos mais antigos;
71. Análise de Log Automatizada
● Logs da Aplicação;
● Sumarização do TOP 15 erros que mais ocorreram;
● Verificação de erros 404 e 50X;
● Envio de e-mail para todos os responsáveis;
● Tomada de decisão se o processo vai até o final (Deploy em PRODUÇÃO);
● Muito importante para os produtos mais antigos;
● Preocupação de OPS.
87. Deploy em PRODUÇÃO
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Produção;
○ atualizar propriedades do binário.
88. Deploy em PRODUÇÃO
● Entrada: Versão para Deploy
○ pegar binário no repositório;
○ verificar propriedades do binário (pode fazer deploy?);
○ executar deploy em Produção;
○ atualizar propriedades do binário.
● Saída: Servidores e propriedades do binário atualizados
93. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
94. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
• 90 pipelines em 1 ano;
95. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
• 90 pipelines em 1 ano;
96. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
• 90 pipelines em 1 ano;
• Devs fazendo Deploy em PRODUÇÃO (pelo Jenkins, é claro) o/;
97. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
• 90 pipelines em 1 ano;
• Devs fazendo Deploy em PRODUÇÃO (pelo Jenkins, é claro) o/;
• Redução do tempo de entrega
98. Alguns Resultados
• Deploys por camadas (Tomcat, Apache, Varnish, Solr, Serviços);
• Deploy em qualquer horário;
• 90 pipelines em 1 ano;
• Devs fazendo Deploy em PRODUÇÃO (pelo Jenkins, é claro) o/;
• Redução do tempo de entrega (15 dias para 2 horas).
104. Ainda existem Desafios
• Derrubar os mitos;
• Testes Unitários e TDD;
• DevOps;
• Mobile;
• Disseminar o conhecimento sobre Entrega Contínua;
105. Ainda existem Desafios
• Derrubar os mitos;
• Testes Unitários e TDD;
• DevOps;
• Mobile;
• Disseminar o conhecimento sobre Entrega Contínua;
• Pipelines de alguns projetos antigos.
106. Ainda existem Desafios
• Derrubar os mitos;
• Testes Unitários e TDD;
• DevOps;
• Mobile;
• Disseminar o conhecimento sobre Entrega Contínua;
• Pipelines de alguns projetos antigos.
111. Próximos Passos
• Incluir Banco de Dados no Pipeline;
• Criar pipeline do legado;
• Pipeline pra mobile;
112. Próximos Passos
• Incluir Banco de Dados no Pipeline;
• Criar pipeline do legado;
• Pipeline pra mobile;
• DevOps;
113. Próximos Passos
• Incluir Banco de Dados no Pipeline;
• Criar pipeline do legado;
• Pipeline pra mobile;
• DevOps;
• Evoluir Dashboard de Métricas;
114. Próximos Passos
• Incluir Banco de Dados no Pipeline;
• Criar pipeline do legado;
• Pipeline pra mobile;
• DevOps;
• Evoluir Dashboard de Métricas;
• Testes Automatizados de Segurança;
115. Próximos Passos
• Incluir Banco de Dados no Pipeline;
• Criar pipeline do legado;
• Pipeline pra mobile;
• DevOps;
• Evoluir Dashboard de Métricas;
• Testes Automatizados de Segurança;
• Testes unitários de Javascript no Pipeline.