Implantações em Monorepo
Quando Usar
Seção intitulada “Quando Usar”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.pyPara implantar support_agent, defina o diretório de trabalho como:
crews/support_agentO AMP ainda baixa ou recebe o repositório inteiro, mas trata a pasta selecionada como a raiz do projeto da automação.
O Que o Diretório de Trabalho Controla
Seção intitulada “O Que o Diretório de Trabalho Controla”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.
Fontes Suportadas
Seção intitulada “Fontes Suportadas”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.
Configurar uma Nova Implantação
Seção intitulada “Configurar uma Nova Implantação”- Abra Deploy from Code
No CrewAI AMP, crie uma nova implantação e escolha sua fonte: GitHub, Git Repository ou upload de ZIP.
- 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.
- Abra as configurações avançadas
Expanda a seção Advanced no formulário de deploy.
- Informe o diretório de trabalho
Informe o caminho da raiz do repositório até o projeto Crew ou Flow:
crews/support_agentNão inclua uma barra inicial.
- Implante
Adicione as variáveis de ambiente necessárias e inicie a implantação.
Configurar uma Implantação Existente
Seção intitulada “Configurar uma Implantação Existente”- Abra as configurações da implantação
Acesse sua automação no AMP e abra Settings.
- 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.
- Defina o diretório de trabalho
Em Basic settings, informe o caminho da subpasta, como:
crews/support_agent - Reimplante
Salve a configuração e reimplante a automação. O novo diretório de trabalho será usado no próximo deploy.
Regras de Caminho
Seção intitulada “Regras de Caminho”O diretório de trabalho deve ser um caminho relativo dentro da raiz do repositório ou do ZIP.
| Regra | Exemplo |
|---|---|
| Use um caminho relativo | crews/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 barras | crews/support agent é inválido |
| Mantenha o caminho com 255 caracteres ou menos | Caminhos 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.
Arquivos Lock e Workspaces UV
Seção intitulada “Arquivos Lock e Workspaces UV”A pasta selecionada deve conter o pyproject.toml e os arquivos exigidos pelo
tipo de projeto:
- Crew JSON-first:
crew.jsoncoucrew.json, além deagents/ - 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:
company-ai/`-- crews/ `-- support_agent/ |-- pyproject.toml |-- uv.lock |-- crew.jsonc `-- agents/ `-- support_agent.jsonccompany-ai/|-- uv.lock|-- packages/| `-- shared_tools/`-- crews/ `-- support_agent/ |-- pyproject.toml |-- crew.jsonc `-- agents/ `-- support_agent.jsoncSolução de Problemas
Seção intitulada “Solução de Problemas”Diretório de Trabalho Não Encontrado
Seção intitulada “Diretório de Trabalho Não Encontrado”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.
pyproject.toml Ausente
Seção intitulada “pyproject.toml Ausente”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.
uv.lock ou poetry.lock Ausente
Seção intitulada “uv.lock ou poetry.lock Ausente”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.
Auto-Deploy Indisponível
Seção intitulada “Auto-Deploy Indisponível”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.