Build e Deploy - CAKeysama/ReTool GitHub Wiki
Build e Deploy
Comandos executados dentro de retool/.
Build de produção
npm run build
Gera dist/ com o Vite. O build incorpora as variáveis do .env usado no momento, ou seja, define qual projeto Firebase o site publicado vai usar. O Vite emite dois avisos conhecidos que não impedem o build: pacote maior que 500 kB e import dinâmico do datasource.
Para conferir localmente:
npm run preview
Escolha do projeto
O deploy vai para o projeto do alias default (retool-c25a9), a menos que você informe --project. Se o .env usado no build tiver VITE_USE_FALLBACK_DB=true, o app usa o projeto fallback (retool2-ef7be). Nesse caso, regras, índices e funções precisam ir para o fallback. Veja Configuração do Ambiente.
A conta logada no CLI precisa ter permissão no projeto:
npx firebase-tools login:list
npx firebase-tools login:add
npx firebase-tools login:use [email protected]
Também é possível escolher a conta em um comando só, com --account [email protected], sem os sinais < >.
O que publicar
| Parte | Comando | Observações |
|---|---|---|
| Regras do Firestore | npx firebase-tools deploy --only firestore:rules --project fallback |
Obrigatório: sem as regras novas, o banco fica sem as proteções descritas em Segurança |
| Índices | npx firebase-tools deploy --only firestore:indexes --project fallback |
Levam alguns minutos para ficar prontos (Console → Firestore → Índices) |
| Regras do Storage | npx firebase-tools deploy --only storage --project fallback |
|
| Cloud Functions | npx firebase-tools deploy --only functions --project fallback |
Exige o plano Blaze; o predeploy compila functions/ |
| Hosting | npx firebase-tools deploy --only hosting |
Publica o dist/ do último build |
Tudo o que é do banco, de uma vez:
npx firebase-tools deploy --only firestore:rules,firestore:indexes,storage,functions --project fallback
Troque fallback por default se o .env apontar para o projeto principal. Sem o plano Blaze, remova functions da lista: só a geração de nova senha temporária fica indisponível.
O script
npm run deployrodanpm run buildenpx firebase-tools deploysem--project, isto é, publica tudo nodefault. Só use esse script se o app também usar odefault.
Depois do deploy
- Confira os índices no Console até todos aparecerem como ativados.
- Se o banco estiver vazio, promova a primeira conta de Administração (ver Usuários, Cargos e Permissões).
- Abra Administração → Histórico de ações e aplique alguns filtros para confirmar os índices.