Como rebuildar projeto na Vercel baseado em webhooks
Se você achava que ia ser difícil, a Vercel deixa muito fácil com seus 'Deployments Hooks'
Por Hugo | | frontEndTypeScript
O breve explicação
Esse é um blog certo ? e o que há de mais legal num blog além de ler um texto é ele ser extremamente rápido. Quando se navega entre as páginas, é bacana ter uma coisa fluída, sem aquele travamento, como é próprio de documentos escritos em HTML puro. Uma moderna SPA (Single Page Application) traz no fundamento essa ideia de navegar sem reloading de página, acontece que as requisições são feitas no lado do cliente e nisso pode-se perder alguns segundos, extremamente importantes para um blog. Sendo assim, a Vercel tem um framework chamado Next.js, que nos permite fazer a pré-renderização das nossas páginas do blog e automatizar de quanto em quanto tempo elas devem buscar novos dados.
A principal vantagem disso é a performance, extremamente superior a qualquer outra SPA do mercado, já que a nossa, só tem a responsabilidade de entregar um HTML puro na tela, e isso é chamado de documento estático.
Strapi
O Strapi é um dos CMS mais utilizados na hora de se criar um gerenciador de back-end pois ele é de fácil integração e possui suporte a vários bancos de dados. Aqui estou utilizando um MongoDB Atlas e o resultado não podia ser mais satisfatório.
Ao configurar na aba de webhooks e apontar para o hook link da Vercel, conseguimos a cada update, delete, publish unpublish no CMS, que nosso projeto seja recriado, isto é, rebuildado; capiturando assim as novas informações sem perder aquela performance que gostamos tanto em um blog.
Deployment hooks
Sabe quando você tem um CMS e quer atualizar algum dado ? esses dados são enviados a algum database e são atualizados. O problema é que quando se tem uma aplicação que foca na performance, com builds distantes um do outro, você teria que esperar longas horas até surtir algum efeito na sua aplicação front-end.
Para isso que surge os deployments hooks, você pode continuar com uma aplicação performática em Next.js, com seus revalidates a cada 24h e ainda assim, pedir pra Vercel rebuildar seu projeto sempre que alguma coisa mudar no seu database.