Pular para o conteúdo

Implantações em Monorepo

Implantações em monorepo são úteis quando um repositório contém múltiplas automações, pacotes compartilhados ou outro código de aplicação:

company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
|-- support_agent/
| |-- pyproject.toml
| |-- crew.jsonc
| `-- agents/
| `-- support_agent.jsonc
`-- research_flow/
|-- pyproject.toml
`-- src/
`-- research_flow/
`-- main.py

Para implantar support_agent, defina o diretório de trabalho como:

crews/support_agent

O AMP ainda baixa ou recebe o repositório inteiro, mas trata a pasta selecionada como a raiz do projeto da automação.

Quando um diretório de trabalho é definido, o AMP usa essa pasta para:

  • Validação do projeto, incluindo pyproject.toml, arquivos de crew JSON e qualquer ponto de entrada clássico de Crew ou Flow
  • Instalação de dependências com uv
  • O diretório de trabalho do processo em execução
  • A variável de ambiente CREW_ROOT_DIR

Deixar o campo vazio mantém o comportamento existente e usa a raiz do repositório.

Você pode definir um diretório de trabalho ao criar uma implantação a partir de:

  • Um repositório GitHub conectado
  • Um repositório Git configurado no AMP
  • Um upload de ZIP

Você também pode adicionar ou alterar o diretório de trabalho de uma implantação existente pela página Settings da implantação. A alteração passa a valer no próximo deploy.

  1. Abra Deploy from Code

    No CrewAI AMP, crie uma nova implantação e escolha sua fonte: GitHub, Git Repository ou upload de ZIP.

  2. Selecione o repositório, branch ou arquivo ZIP

    Escolha o repositório e a branch que contêm seu monorepo, ou envie um ZIP cuja raiz contenha os arquivos do monorepo.

  3. Abra as configurações avançadas

    Expanda a seção Advanced no formulário de deploy.

  4. Informe o diretório de trabalho

    Informe o caminho da raiz do repositório até o projeto Crew ou Flow:

    crews/support_agent

    Não inclua uma barra inicial.

  5. Implante

    Adicione as variáveis de ambiente necessárias e inicie a implantação.

  1. Abra as configurações da implantação

    Acesse sua automação no AMP e abra Settings.

  2. Desative o auto-deploy, se necessário

    Se o auto-deploy estiver habilitado, desative-o primeiro. O campo de diretório de trabalho fica indisponível enquanto o auto-deploy está ativo.

  3. Defina o diretório de trabalho

    Em Basic settings, informe o caminho da subpasta, como:

    crews/support_agent
  4. Reimplante

    Salve a configuração e reimplante a automação. O novo diretório de trabalho será usado no próximo deploy.

O diretório de trabalho deve ser um caminho relativo dentro da raiz do repositório ou do ZIP.

RegraExemplo
Use um caminho relativocrews/support_agent
Não comece com //crews/support_agent é inválido
Não use segmentos de caminho . ou ..crews/../support_agent é inválido
Use apenas letras, números, hifens, underscores, pontos e barrascrews/support agent é inválido
Mantenha o caminho com 255 caracteres ou menosCaminhos maiores são rejeitados

O AMP remove espaços em branco no início e no fim, reduz barras repetidas e remove barras finais. Um valor em branco usa a raiz do repositório.

A pasta selecionada deve conter o pyproject.toml e os arquivos exigidos pelo tipo de projeto:

  • Crew JSON-first: crew.jsonc ou crew.json, além de agents/
  • Crew clássico ou Flow: src/ com o ponto de entrada Python esperado

Um arquivo uv.lock ou poetry.lock pode ficar na pasta selecionada ou na raiz do repositório.

Isso oferece suporte aos dois layouts comuns de arquivo lock:

Arquivo lock do projeto
company-ai/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- uv.lock
|-- crew.jsonc
`-- agents/
`-- support_agent.jsonc
Arquivo lock do workspace
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- crew.jsonc
`-- agents/
`-- support_agent.jsonc

Verifique se o caminho é relativo à raiz do repositório ou do ZIP. Para uploads de ZIP, o conteúdo do ZIP deve incluir exatamente o caminho informado como diretório de trabalho.

O diretório de trabalho deve apontar para a pasta do projeto Crew ou Flow, não apenas para uma pasta pai que contém vários projetos.

Faça commit de um arquivo lock na pasta do projeto selecionada ou na raiz do repositório. Para workspaces UV, manter uv.lock na raiz do workspace é suportado.

O auto-deploy fica desabilitado enquanto um diretório de trabalho está definido. Use reimplantações manuais ou acione reimplantações a partir de CI/CD com a API do AMP.

Deploy para AMP

Continue com o guia de implantação depois de escolher o diretório de trabalho do monorepo.