Como (e se) vocês constroem um pipeline para testes e deploy de aplicações de front-end?
Estamos em um processo de recrutamento para desenvolvedores Front-End onde trabalho e depois de especificar o que esperamos de um recrutando além de especificar em conversas e em teste técnico, reparei que muita gente ainda faz muita coisa manual ou só "automatiza" algo quando pode usar Vercel ou algo do tipo.
Em algumas conversas, cheguei até a mostrar como é o fluxo desde que uma feature é entregue em um pull request até o momento onde chega em produção para alguns candidatos mais curiosos. Fiquei um pouco impressionado como isso fica de fora do escopo de algumas pessoas e fiquei na dúvida se o processo aqui é incomum ou o foco dos profissionais é outro.
O pipeline de nosso Widget aqui na Doris
- O widget é um pacote que permite o uso do nosso principal produto, que é o MIX;
- Usamos o CircleCI para executar todo esse pipeline;
- O Widget é feito em Vanilla, Typescript e ReactJS;
- Todas as branches executam testes unitários e end-to-end;
- Temos mais de um job responsável pelos testes end-to-end e o mesmo é paralelizado;
- As 3 branches que possuem ambientes para teste tem jobs que fazem o deploy – tanto da aplicação quanto do Storybook – quando ambos os jobs de testes passam;
- A branch principal (main) precisa de uma aprovação manual para executar os jobs de deployl
- Nossa library fica publicada em um bucket de S3.
A pergunta que fica é: Como vocês fazem onde trabalham?
Obs.: Se você é um back-end curioso e está procurando um projeto legal pra trabalhar, aqui também tem uma vaga pra você! :)