Depois de fecharmos o código de uma ferramenta em desenvolvimento local, iniciamos a fase de validação e lançamento.
Atualmente nossas ferramentas são alocadas em dois locais:
Heroku (servidor de desenvolvimento para validação)
DigitalOcean (servidor oficial para lançamento das aplicações).
O Heroku é um ambiente que serve para rodar versões de teste e validação de alterações. Chamamos esse ambiente de staging.
A branch master do repositório de cada aplicação que temos está conectada com este servidor - isso significa que qualquer alteração feita nesta branch será refletida no ambiente de desenvolvimento.
Após a validação no staging então, as alterações podem ser encaminhadas para a branch stable abrindo-se um pull request no respectivo repositório, que uma vez aprovado sobe para a versão oficial.
Commit na branch master
Deploy automático no aplicativo Heroku
Tod@s tem acesso à URL das aplicações em desenvolvimento, mas pedimos para não compartilhar esses links.
Quanto ao ambiente de gestão do Heroku, quem tem acesso hoje:
Fernanda
Gabrielle
Os nossos aplicativos estão hospedados no Digital Ocean. A branch stable do repositório de cada aplicação que temos está conectada com este servidor - isso significa que qualquer alteração feita nesta branch será refletida no aplicativo oficial.
O Dockerhub é onde está o container de configuração das aplicações. Para as atualizações, temos duas pipelines principais:
Deploy: fluxo automático de mudanças acionadas por commit na branch stable
Restart: fluxo diário automático de atualização da branch no Digital Ocean, onde nosso servidor está hospedado.
Commit na branch stable
A pipeline farolcovid-deploy é acionada no Jenkins, gerando um deploy da branch no Dockerhub (automação também pode ser acionada manualmente no Jenkins).
(uma vez ao dia) A pipeline farolcovid-restart é acionada no Jenkins, gerando um deploy da branch no DigitalOcean. (a automação também pode ser acionada manualmente no Jenkins).
As URLs oficiais são públicas.
Quanto ao ambiente de gestão do DigitalOcean, quem tem acesso hoje:
Fernanda
João Abreu
Gabrielle Arruda
Quanto ao ambiente de gestão do Dockerhub, quem tem acesso hoje:
Fernanda
Gabrielle Arruda
Luiz Felipe
Quanto ao ambiente de gestão do Jenkins, quem tem acesso hoje:
Fernanda
Gabrielle Arruda
Luiz Felipe
João Carabetta
Victor Cortez
Italo
Quanto ao ambiente de gestão do Grafana, quem tem acesso hoje:
Fernanda
Gabrielle Arruda
Luiz Felipe
Quanto ao ambiente de gestão do Cloudflare, quem tem acesso hoje:
Luiz Felipe
DigitalOcean - é provedora de serviços de Infraestrutura de Computação em Nuvem, é usada para hospedagem das aplicações.
Dockerhub - é um Serviço de Web Hosting compartilhado para imagens Docker.
Heroku - é uma plataforma nuvem que faz deploy de várias aplicações back-end seja para hospedagem, testes em produção ou escalar as suas aplicações. .
Jenkins - é uma ferramenta de integração contínua de código aberto.