Setup Dev VM (VSCode Remote)¶
Configurar VSCode para desenvolvimento remoto na sua Dev VM.
Pré-requisitos¶
| Ferramenta | Instalação |
|---|---|
| VSCode | code.visualstudio.com |
| Remote - SSH (extensão) | Buscar "Remote - SSH" no VSCode |
| Google Cloud SDK | cloud.google.com/sdk |
Verificação¶
# Verificar instalação do gcloud
gcloud --version
# Verificar login
gcloud auth list # Sua conta deve aparecer
# Se não estiver logado, execute:
gcloud init
# Verificar projeto configurado
gcloud config get-value project # Deve retornar: inspire-7-finep
1. Testar Conexão SSH¶
Antes de configurar o VSCode, teste a conexão:
gcloud compute ssh seu-nome-devvm \
--zone=southamerica-east1-a \
--tunnel-through-iap
VM desligada?
Se der erro, a VM pode estar desligada. Ligue com:
gcloud compute instances start seu-nome-devvm \
--zone=southamerica-east1-a
2. Configurar SSH¶
Edite ~/.ssh/config:
nano ~/.ssh/config
Adicione:
Host devvm
HostName seu-nome-devvm
User seu-usuario
ProxyCommand gcloud compute start-iap-tunnel %h %p --listen-on-stdin --project=inspire-7-finep --zone=southamerica-east1-a
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Substitua
seu-nome-devvm→ nome da sua VMseu-usuario→ seu username Linux (geralmente parte do email antes do @)
Edite C:\Users\SeuUsuario\.ssh\config:
Host devvm
HostName seu-nome-devvm
User seu-usuario
ProxyCommand gcloud.cmd compute start-iap-tunnel %h %p --listen-on-stdin --project=inspire-7-finep --zone=southamerica-east1-a
StrictHostKeyChecking no
UserKnownHostsFile NUL
Windows
Use gcloud.cmd (não apenas gcloud) e NUL (não /dev/null).
Testar configuração¶
ssh devvm
Deve conectar à VM.
3. Conectar no VSCode¶
-
Abra o VSCode
-
Pressione
Ctrl+Shift+P(ouCmd+Shift+Pno Mac) -
Digite: Remote-SSH: Connect to Host
-
Selecione devvm
-
Aguarde a instalação do servidor VSCode (~1 min na primeira vez)
Indicador de conexão¶
Após conectar, você verá no canto inferior esquerdo:
>< SSH: devvm
4. Configurar Ambiente de Desenvolvimento¶
A VM é fornecida sem diretórios de projetos. Siga estes passos para configurar seu ambiente:
Criar diretório de projetos¶
No terminal integrado do VSCode (Ctrl+):
# Criar diretório para os projetos
mkdir -p ~/projects
# Navegar para o diretório
cd ~/projects
Clonar repositórios¶
# Clone o data-platform
git clone https://github.com/destaquesgovbr/data-platform.git
# Clone o portal
git clone https://github.com/destaquesgovbr/portal.git
Abrir Projetos no VSCode¶
- Clique em File → Open Folder
- Navegue até
~/projects - Selecione o projeto desejado
5. Extensões Recomendadas¶
Após conectar, instale estas extensões no servidor:
| Extensão | Para |
|---|---|
| Python | Desenvolvimento Python |
| Pylance | IntelliSense Python |
| GitLens | Git avançado |
| YAML | Edição YAML |
| HashiCorp Terraform | Syntax .tf |
Extensões remotas
Extensões de linguagem devem ser instaladas após conectar ao remote.
Vá em Extensions (Ctrl+Shift+X) e procure cada uma.
6. Workflow Diário¶
flowchart TD
A[Manhã] --> B{VM ligada?}
B -->|Não| C[gcloud compute instances start...]
B -->|Sim| D[VSCode: Connect to Host]
C --> D
D --> E[Desenvolver]
E --> F[19h: Auto-shutdown]
F --> G[Amanhã]
G --> A
Comandos rápidos¶
# Ligar VM
gcloud compute instances start seu-nome-devvm \
--zone=southamerica-east1-a
# Verificar status
gcloud compute instances describe seu-nome-devvm \
--zone=southamerica-east1-a --format="value(status)"
# Desligar manualmente
gcloud compute instances stop seu-nome-devvm \
--zone=southamerica-east1-a
Troubleshooting¶
"Connection refused"¶
A VM provavelmente está desligada:
# Verificar
gcloud compute instances describe seu-nome-devvm \
--zone=southamerica-east1-a --format="value(status)"
# Ligar
gcloud compute instances start seu-nome-devvm \
--zone=southamerica-east1-a
# Aguardar ~30s e reconectar
"Permission denied (publickey)"¶
# Reautenticar
gcloud auth login
# Tentar novamente
ssh devvm
VSCode trava ao conectar¶
# Conectar via terminal
gcloud compute ssh seu-nome-devvm \
--zone=southamerica-east1-a --tunnel-through-iap
# Remover servidor VSCode corrompido
rm -rf ~/.vscode-server
# Reconectar no VSCode
ProxyCommand não funciona (Windows)¶
Use o caminho completo do gcloud:
ProxyCommand "C:\Users\User\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd" compute start-iap-tunnel %h %p --listen-on-stdin --project=inspire-7-finep --zone=southamerica-east1-a
Conexão lenta¶
Adicione keep-alive ao ~/.ssh/config:
Host devvm
# ... outras configs ...
ServerAliveInterval 60
ServerAliveCountMax 3
Alternativa: IAP Desktop (Windows)¶
Se o ProxyCommand não funcionar no Windows:
-
Baixe IAP Desktop
-
Instale e faça login com sua conta Google
-
Conecte à VM pelo IAP Desktop
-
Crie um túnel: botão direito → "Tunnel to..." → porta 22
-
Configure VSCode para
localhost:PORTA:
Host devvm-tunnel
HostName localhost
Port 12345
User seu-usuario
Mantenha IAP Desktop aberto
O túnel só funciona enquanto o IAP Desktop estiver rodando.
Próximos Passos¶
Agora que seu VSCode está configurado:
- Clone os repositórios em
/mnt/data/projects - Configure o ambiente Python: Setup Backend
- Faça seu primeiro PR: Primeiro PR
Links Relacionados¶
- VMs de Desenvolvimento - Criar e gerenciar Dev VMs
- Setup Backend - Configurar Python
- Setup Frontend - Configurar Next.js