Login no Heroku a partir do GitHub Codespaces
Esses dias eu estava usando GitHub CodeSpaces pra fazer o deploy de uma aplicação pro Heroku e me deparei com um problema: Como fazer o login no Heroku dado que eu não tenho acesso a um navegador rodando na mesma máquina em que eu estou usando o terminal?
Se você continuar lendo esse blog post, eu vou te mostrar exatamente como resolver isso.
IP mismatch ao fazer login
Você acabou de fazer a instalação do Heroku CLI e chegou a hora de fazer o login. Então você roda a o comando a seguir:
heroku login
Esse comando vai te dar uma página para que você possa abrir no navegador e fazer o login. Normalmente você vê essa página aqui:
Ao clicar em login, você pode entrar na sua conta com o seu método tradicional como usuário e senha por exemplo, e então o seu terminal vai mostrar que você fez login com sucesso.
Meio mágico como isso acontece né mesmo? Porém se você esta usando o GitHub Codespaces, você não tem um navegador para visualizar essa página de login, e se você tentar abrir aquela mesma página pelo método tradicional de copiar a URL e colocar ela no seu navegador, você vai encontrar uma página dizendo a mensagem de “IP mismatch”.
E agora? O segredo é usar a forma iterativa de login na linha de comando.
Fazendo o login no Heroku usando o terminal
Para casos onde não é possível usar o navegador para ver a familiar tela de login, a solução é usar o login de forma interativa. Basta usar o mesmo comando de antes acompanhado da opção -i
e então seguir as instruções que vão aparecer.
heroku login -i
Após rodar o comando acima, você vai ver o pedido usuário e senha como pode ser observado na imagem abaixo:
Depois de colocar os seus dados e efetuar o seu login, você poderá seguir com o seu uso do Heroku via CLI.
Recapitulando
Neste post, você aprendeu:
- Como fazer o login no Heroku a partir do GitHub Codespaces.
- Como resolver o erro de “IP mismatch” usando a opção
-i
ao fazer login no Heroku através da linha de comando.
Espero que este post te ajude a fazer login no Heroku dentro do GitHub Codespaces.