Pular para o conteúdo principal

Fluxo de deploy

Quando você executa jelou deploy, a plataforma:
  1. Lê o jelou.json para encontrar o slug e o entrypoint
  2. Coleta todos os arquivos deployáveis do diretório
  3. Exibe um resumo com nomes e tamanhos
  4. Faz upload dos arquivos e executa o deploy
  5. Renomeia seu entrypoint para user-function.ts
  6. Gera um wrapper main.ts que importa seu código e inicia o servidor
  7. Injeta seus secrets como variáveis de ambiente
jelou deploy
# ▸ Files: index.ts (1.2 KB), helpers.ts (800 B), jelou.json (98 B), deno.json (65 B)
# ? Deploy query-customer? (Y/n) y
# ✓ Deployed
# ▸ ID:  dep_abc12345
# ▸ URL: https://query-customer.fn.jelou.ai

Limites de arquivos

LimiteValor
Arquivos por deploy20
Tamanho por arquivo256 KB
Tamanho total1 MB
Extensões permitidas.ts, .js, .json, .md, .txt
Entrypoint obrigatórioindex.ts

O que é excluído automaticamente

  • node_modules/
  • .git/
  • .env
  • dist/
  • .jelou/
  • Arquivos ocultos (começando com .)

Ignorar confirmação

Para deploys automatizados, use --no-confirm:
jelou deploy --no-confirm

Rollback

Se você precisar reverter para uma versão anterior, use jelou rollback.
Sem argumentos, exibe um menu com deploys recentes:
jelou rollback
# ? Select deployment to rollback to:
#   ▸ dep_abc12345.. — 2 hours ago by [email protected] (current)
#     dep_def67890.. — 1 day ago by [email protected]
#     dep_ghi11223.. — 3 days ago by [email protected]

CI/CD com GitHub Actions

deploy.yml
name: Deploy Function
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install CLI
        run: npm install -g @jelou/cli

      - name: Deploy
        env:
          JELOU_TOKEN: ${{ secrets.JELOU_TOKEN }}
        run: jelou deploy --no-confirm --json | jq '.data.url'
Use --json em pipelines para obter saída estruturada que você pode processar com jq. O formato é sempre { "ok": true, "data": ... } no stdout.

Rotas expostas

RotaDescrição
/__healthHealth check e metadados da função
/mcpEndpoint MCP (a menos que config.mcp: false)
Sua rotaRota do handler (padrão: * corresponde a qualquer caminho)