Como corrigir o problema de sobrescrita de domínio customizado ao usar o script de deploy do gh-pages
Ontem migrei meu site baseado em GitHub Pages para um domínio customizado. Era https://bernardodiasc.github.io e agora é https://bernardodiasdacruz.com. Os passos para fazer isso são bem diretos, há muitas instruções úteis disponíveis na documentação do GitHub: Using a custom domain with GitHub Pages
Este projeto é baseado no create-react-app e para a etapa de deploy escolhi hospedar no gh-pages. Existem muitas formas diferentes de tornar essa tarefa o mais fácil possível, eu optei por usar o NPM gh-pages.
O problema surgiu e a solução
Após a mudança do domínio customizado, as coisas pareciam estar bem, mas cada deploy seguinte estava limpando a configuração de domínio customizado no repositório do GitHub, fazendo o site responder 404.
A solução não estava clara em nenhuma documentação, mas na verdade é bem simples:
- Crie um arquivo chamado
CNAMEna raiz do site. No caso do create-react-app, coloque esse arquivo na pasta/publicporque ele será copiado para/distquando você executaryarn build, e a pasta/distse tornará a raiz quando você executargh-pages -d dist; - Escreva seu domínio customizado dentro desse arquivo, no meu caso, era apenas uma linha com
bernardodiasdacruz.com;
Faça o commit e deploy, deve funcionar!
Você pode conferir a solução para este site no repositório.