Skip to main content

CI/CD

Uma pipeline CI/CD é o que permite que os serviços sejam executados automaticamente quando alguma implementação é finalizada. No caso do nosso projeto, vários serviços são deployados de acordo com o código na branch main. Utilizamos a separação de desenvolvimento, homologação e produção para um desenvolvimento mais seguro separado da aplicação viva e disponível para todos. Isso é permitido por conta do sistema avançado de versionamento do próprio github, que garante o desenvolvimento em branchs e, por meio de pull's, podemos juntar os códigos de maneira segura.

Desenvolvimento

Primeiro, quando criamos alguma implementação, colocamos essa implementação na branch de desenvolvimento, a dev. Aqui, todos os códigos são testados para garantir que o deploy da aplicação não quebre com as novas implementações.

Homologação

Quando as novas implementações não quebram as diferentes partes da pipeline de deploy da aplicação, levamos ela para a homologação, onde ocorrem diversos testes de carga e acesso automatizados, garantindo que, quando o código chegue em produção, as aplicações com as novas implementações não quebrem de alguma forma.

Produção

Por fim, uma nova versão da aplicação como um todo é lançada e os serviços que a utilizam podem desfrutar das novas implementações ou correções de bugs.

Contexto do nosso projeto

No que tange o contexto do nosso projeto, temos uma pipeline que sobe toda a nossa documentação que está presente no diretório \docs pelo Github Actions. Em todos os pull requests que levam para a branch dev essa pipeline é testada para garantir que a pipeline quebre em produção. Por fim, quando tudo está certo, levamos as novas atualizações para a branch main, que inicia a pipeline que garante o deploy final da documentação no Github Pages.