Voltar para o Blog
Vibe Coding39 / 40
  1. 01O que é vibe coding (e o que não é)
  2. 02De escrever código a dirigir a intenção
  3. 03O ciclo: contexto → plano → geração → revisão
  4. 04O arsenal: visão geral do nosso stack de IA
  5. 05Quando não usar vibe coding
  6. 06Da ideia ao protótipo em horas
  7. 07Claude para brainstorm de produto e PRD
  8. 08Claude Artifacts para mockups instantâneos
  9. 09Lovable: do prompt ao app funcional
  10. 10Google AI Studio: prototipando com Gemini
  11. 11Lovable × Claude × Google Studio: quando usar cada um
  12. 12Claude Code: o par de programação que conhece o monorepo
  13. 13Anatomia de um bom prompt de engenharia
  14. 14Plan mode: planejar antes de gerar
  15. 15Skills e slash commands (/investigate, /review, /ship)
  16. 16Refactors e migrations em massa
  17. 17Debugging com IA: do stack trace à causa raiz
  18. 18Supabase: a espinha dorsal de dados
  19. 19Modelagem com Drizzle ORM
  20. 20RLS na prática: a regra que não tem exceção
  21. 21Migrations SQL à mão e o drift DB↔Drizzle
  22. 22Auth com Google OAuth no Supabase
  23. 23Realtime, Storage e o resto do Supabase
  24. 24Trigger.dev: o piloto automático
  25. 25Seu primeiro job agendado
  26. 26Workflows com retry e observabilidade
  27. 27IA em background: resumos e narrativas
  28. 28Deploy do Trigger.dev e as pegadinhas
  29. 29Evolution API: WhatsApp como canal de produto
  30. 30Instância por usuário e gestão centralizada
  31. 31IA gerando resumos de conversa
  32. 32Boas práticas e armadilhas no WhatsApp
  33. 33Integrando APIs de terceiros com IA
  34. 34Anthropic SDK: Claude dentro do produto
  35. 35Resend: e-mail transacional que chega
  36. 36Google Analytics, Search Console e Ads
  37. 37Rate limit, retry, idempotência e secrets
  38. 38GitHub: CI/CD e AI Code Review como portão de qualidade
  39. 39Deploy no Google Cloud Run
  40. 40A cultura por trás do vibe coding (e o futuro)
Vibe CodingParte 39 de 40

Deploy no Google Cloud Run

2 min de leitura
Compartilhar
Vibe Coding

Código revisado e aprovado (#38) precisa chegar no ar. No ClubPetro o produto roda no Google Cloud Run, e o deploy é o último portão entre o que a gente escreveu e o que o cliente usa. Este post conta como deployamos — e as pegadinhas que viraram cicatriz.

Por que Cloud Run

Cloud Run roda nosso container Next.js de forma gerenciada: escala conforme a demanda, sem a gente administrar servidor. O serviço (clubpetro-web) vive no projeto boot-308904, região southamerica-east1, com config canônica de memória, CPU com boost e instâncias mínimas pra evitar cold start.

O fluxo do PR ao ar

  1. PR aprovado e checks verdes (#38) → merge na main.
  2. Build do container (o script canônico usa Docker local; Cloud Build é o fallback quando o daemon não está rodando).
  3. Deploy no Cloud Run.
  4. Tráfego migra pra nova revisão.

A pegadinha que mais dói: secrets no deploy

A cicatriz nº1 do nosso histórico de deploy:

NUNCA use REST API PATCH pra deployar — isso apaga os secrets. Sempre gcloud run deploy --set-secrets.

E tem a irmã dela: --set-env-vars substitui todas as envs simples; pra mudar só uma, use --update-env-vars. Errar isso derruba a aplicação por variável faltando — e o erro não é óbvio no log.

Outras pedras conhecidas

  • Worktree sem node_modules (.superset/worktrees) — rode pnpm install antes de buildar/deployar.
  • Imports proibidos no client — ex.: @repo/db num 'use client' quebra o build; tem que inlinar tipos.
  • DATABASE_URL na porta 6543 (pooler) com prepare:false — porta 5432 dá SASL_SIGNATURE_MISMATCH.
  • Rota raiz / tem caso de 500 no standalone (bug do Next 15) — não-bloqueante, usuário entra via /login.

Essas viram documentação porque vibe coding não adivinha pegadinha de operação — a IA escreve o deploy, mas o conhecimento de "o que já quebrou aqui" é nosso, e a gente passa pra ela via contexto.

Deploy e Lealdade a Dados

Deployou? Confirme com dado: a revisão está recebendo tráfego, os secrets estão lá, os health checks passam. "Deployei e deve estar ok" não é deploy — é torcida. E quando dá ruim, rollback é decisão rápida e sem ego (volta pra revisão anterior e investiga com calma).

⚠️ Armadilha #39: deployar via PATCH/REST ou --set-env-vars achando que está "só atualizando uma coisinha". Você apaga secret/env e derruba produção. Use --set-secrets/--update-env-vars e confira depois.

Próximo da série: #40 — A cultura por trás do vibe coding (e o futuro).

Curtiu como a gente pensa?

É assim que trabalhamos todo dia.

Se esse jeito de pensar é o seu, vem construir com a gente — dá uma olhada nas vagas abertas.

Ver vagas