DEV Community

Cover image for Hospedar Vercel Stats Card para GitHub
Mariana Corrêa
Mariana Corrêa

Posted on

Hospedar Vercel Stats Card para GitHub

Já acessou a página principal do seu GitHub após incrementar seu README com os cartões de estatísticas do GitHub da Vercel e, para sua surpresa, havia a seguinte mensagem de erro: “Something went wrong! file an issue at … / Maximum retries exceded”?

Mensagem de erro de requisição

Isso ocorre porquê, atualmente, existe um gigantesco número de requisições acontecendo a cada hora para a instancia da Vercel para o projeto.
Atualmente, o projeto possui 7 PAT’s (Personal Access Token) com 5000 pontos de acesso por hora. Isso é muito pouco em comparação com o número de requisições ao projeto e por isso, às vezes, a requisição dos dados do seu cartão de estatísticas falha e você recebe essa mensagem.
Para ajudar a entender, imagine que você está numa estação de ônibus. Se for um horário com menos circulação de passageiros, provavelmente haverá lugar para você embarcar e chegar ao destino. Porém, caso seja um horário de pico, talvez o ônibus já esteja lotado e você não consiga embarcar, e precisará esperar um tempo até que algum ônibus chegue com um lugar vago para você. Nessa metáfora, o ônibus é o token de acesso que levará sua requisição (ou você, como na metáfora) até o site que fornecerá os dados. Se todos os pontos de acesso (ou assentos) dos PAT’s estão sendo usados, não há como sua solicitação chegar ao destino naquele momento, resultando no erro.
Apesar dos gestores do projeto já estarem trabalhando numa expansão de PAT’s para diminuir o problema, há uma maneira de resolver esse problema para suas estatísticas: basta fazer o deploy da sua própria instância no Vercel. Voltando à metáfora, seria como dar adeus ao transporte público, pegar um carro e ir só você, no maior conforto, até seu destino. E é muito fácil de fazer:

1 - Faça login ou crie uma conta no site da Vercel com o GitHub (opção “Continue with GitHub”);

2 - Caso solicitado, permita o acesso da Vercel aos seus repositórios no GitHub;

3 - Vá até o GitHub e faça fork do seguinte repositório: https://github.com/anuraghazra/github-readme-stats;

4 - Abra o arquivo “vercel.json” e modifique o campo “maxDuration” para “10”, como na imagem a seguir:

Arquivo vercel.json

5 - Ainda no GitHub, acesse essa página e siga os próximos passos para criar um Personal Access Token (caso prefira encontrar a página manualmente, siga o caminho: ícone do seu usuário (canto superior direito)>>Settings>>Developer settings>>Personal access tokens).

  • Coloque um identificador no campo “Note” (como, por exemplo, “GitHub Readme Stats”)

Tela de criação de novo Token

  • Defina o período de expiração do seu token (para saber mais sobre expiração de tokens, clique aqui e leia a documentação oficial do GitHub).

Tela de criação de novo Token

  • Vá até o fim da página e clique em “Generate token” para gerar seu token (não é necessário alterar nada no campo “Select scopes”).

Tela de geração de novo Token

  • O GitHub solicitará que você insira sua senha e após isso, te encaminhará para a página com o token gerado. ATENÇÃO: copie seu token e o salve em algum lugar por segurança, pois ele não será exibido novamente.

Confirmação e exibição do token gerado

6 - Volte ao site da Vercel. No seu DashBoard, clique no botão “Add New…”. Nas opções que irão abrir, clique em “Project”;

7 - Na página de projetos, vá até o quadro intitulado “Import Git Repository”, localize o repositório “github-readme-stats” e clique em “Import”.

Tela de Projetos na Vercel

8- Na nova página, abra o campo “Enviroment Variables”, adicione o nome PAT_1 no campo “Name” e o seu token no campo “Value”.

Tela de configuração de projeto no Vercel

9 - Clique em “Deploy” e aguarde o fim do processo.

10 - Clique em “Continue to Dashboard

11 - Escolha e copie um dos link mostrados no campo “Domains”.

Tela de Deploy no Vercel

12 - No seu README.md, na linha do cartão de estatísticas, substitua o trecho ”github-readme-stats.vercel.app” pelo link copiado anteriormente e faça o commit.

Readme antes da substituição<br>

Readme depois da substituição

Pronto! Agora você tem um cartão de estatísticas cuja origem só é acessada por você, eliminando a possibilidade do erro de excesso de requerimentos ocorrer.

Fonte: https://github.com/anuraghazra/github-readme-stats

Leituras adicionais sobre PAT:

Top comments (0)