Document monorepo deployments (#6018)

* Document monorepo deployments

* Add localized monorepo docs
This commit is contained in:
Gui Vieira
2026-06-03 17:01:10 -03:00
committed by GitHub
parent d09e3f4544
commit 73d20fb0c3
9 changed files with 983 additions and 2 deletions

View File

@@ -164,6 +164,12 @@ crewai deploy remove <deployment_id>
![اختيار المستودع](/images/enterprise/select-repo.png)
</Frame>
<Tip>
إذا كان Crew أو Flow داخل مجلد فرعي في monorepo، فوسّع **Advanced**
وعيّن دليل عمل قبل النشر. راجع
[النشر من Monorepo](/ar/enterprise/guides/monorepo-deployments).
</Tip>
</Step>
<Step title="تعيين متغيرات البيئة">

View File

@@ -0,0 +1,220 @@
---
title: "النشر من Monorepo"
description: "انشر Crew أو Flow من مجلد فرعي داخل مستودع أكبر"
icon: "folder-tree"
mode: "wide"
---
<Note>
استخدم دليل عمل عندما يكون Crew أو Flow داخل مستودع أكبر. يتحقق CrewAI AMP
من الأتمتة ويبنيها ويشغلها من ذلك المجلد الفرعي بدلاً من جذر المستودع.
</Note>
## متى تستخدم ذلك
يكون النشر من monorepo مفيداً عندما يحتوي مستودع واحد على عدة أتمتات أو حزم
مشتركة أو كود تطبيقات آخر:
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
|-- support_agent/
| |-- pyproject.toml
| `-- src/
| `-- support_agent/
| |-- main.py
| `-- crew.py
`-- research_flow/
|-- pyproject.toml
`-- src/
`-- research_flow/
`-- main.py
```
لنشر `support_agent`، اضبط دليل العمل على:
```text
crews/support_agent
```
لا يزال AMP يجلب المستودع كاملاً أو يرفعه، لكنه يتعامل مع المجلد المحدد كجذر
مشروع الأتمتة.
## ما الذي يتحكم به دليل العمل
عند تعيين دليل عمل، يستخدم AMP ذلك المجلد من أجل:
- التحقق من المشروع، بما في ذلك `pyproject.toml` و`src/` ونقطة دخول Crew أو Flow
- تثبيت الاعتماديات باستخدام `uv`
- دليل العمل للعملية قيد التشغيل
- متغير البيئة `CREW_ROOT_DIR`
ترك الحقل فارغاً يحافظ على السلوك الحالي ويستخدم جذر المستودع.
## المصادر المدعومة
يمكنك تعيين دليل عمل عند إنشاء نشر من:
- مستودع GitHub متصل
- مستودع Git مكوّن في AMP
- رفع ملف ZIP
<Info>
اضبط أدلة العمل من واجهة AMP على الويب. لا يطلب تدفق CLI
`crewai deploy create` هذا الحقل.
</Info>
يمكنك أيضاً إضافة دليل العمل أو تغييره في نشر موجود من صفحة **Settings** الخاصة
بالنشر. يسري التغيير في النشر التالي.
<Warning>
لا يمكن استخدام أدلة العمل وauto-deploy معاً. إذا كان للنشر دليل عمل، يتم
تعطيل auto-deploy لذلك النشر. أوقف auto-deploy قبل تعيين دليل عمل.
</Warning>
## إعداد نشر جديد
<Steps>
<Step title="افتح Deploy from Code">
في CrewAI AMP، أنشئ نشراً جديداً واختر المصدر: GitHub أو Git Repository أو
رفع ZIP.
</Step>
<Step title="اختر المستودع أو الفرع أو ملف ZIP">
اختر المستودع والفرع اللذين يحتويان على monorepo، أو ارفع ملف ZIP يحتوي
جذره على محتويات monorepo.
</Step>
<Step title="افتح الإعدادات المتقدمة">
وسّع قسم **Advanced** في نموذج النشر.
</Step>
<Step title="أدخل دليل العمل">
أدخل المسار من جذر المستودع إلى مشروع Crew أو Flow:
```text
crews/support_agent
```
لا تضف شرطة مائلة في البداية.
</Step>
<Step title="انشر">
أضف أي متغيرات بيئة مطلوبة، ثم ابدأ النشر.
</Step>
</Steps>
## إعداد نشر موجود
<Steps>
<Step title="افتح إعدادات النشر">
انتقل إلى الأتمتة في AMP وافتح **Settings**.
</Step>
<Step title="أوقف auto-deploy إذا لزم الأمر">
إذا كان auto-deploy مفعلاً، أوقفه أولاً. لا يكون حقل دليل العمل متاحاً
أثناء تشغيل auto-deploy.
</Step>
<Step title="عيّن دليل العمل">
في **Basic settings**، أدخل مسار المجلد الفرعي، مثل:
```text
crews/support_agent
```
</Step>
<Step title="أعد النشر">
احفظ الإعداد وأعد نشر الأتمتة. سيتم استخدام دليل العمل الجديد في النشر
التالي.
</Step>
</Steps>
## قواعد المسار
يجب أن يكون دليل العمل مساراً نسبياً داخل جذر المستودع أو ZIP.
| القاعدة | المثال |
|---------|--------|
| استخدم مساراً نسبياً | `crews/support_agent` |
| لا تبدأ بـ `/` | `/crews/support_agent` غير صالح |
| لا تستخدم مقاطع المسار `.` أو `..` | `crews/../support_agent` غير صالح |
| استخدم الأحرف والأرقام والشرطات والشرطات السفلية والنقاط والشرطات المائلة فقط | `crews/support agent` غير صالح |
| اجعل المسار 255 حرفاً أو أقل | يتم رفض المسارات الأطول |
يزيل AMP المسافات البيضاء في البداية والنهاية، ويضغط الشرطات المائلة المتكررة،
ويزيل الشرطة المائلة النهائية. تستخدم القيمة الفارغة جذر المستودع.
## ملفات القفل وUV Workspaces
يجب أن يحتوي المجلد المحدد على `pyproject.toml` ودليل `src/` الخاصين بالأتمتة.
يمكن أن يوجد ملف `uv.lock` أو `poetry.lock` إما في المجلد المحدد أو في جذر
المستودع.
يدعم هذا التخطيطين الشائعين في monorepo:
<Tabs>
<Tab title="ملف قفل المشروع">
```text
company-ai/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- uv.lock
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
<Tab title="ملف قفل workspace">
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
`-- support_agent/
|-- pyproject.toml
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
</Tabs>
<Tip>
إذا كانت الأتمتة تستورد حزماً مشتركة من مكان آخر في monorepo، فصرّح بهذه
الحزم في `pyproject.toml` باستخدام إعدادات UV workspace أو path أو source.
يشغل AMP الأتمتة من المجلد المحدد، لذلك يجب تثبيت الكود المشترك كاعتمادية
بدلاً من الاعتماد على وجود جذر المستودع في Python path.
</Tip>
## استكشاف الأخطاء وإصلاحها
### لم يتم العثور على دليل العمل
تحقق من أن المسار نسبي إلى جذر المستودع أو ZIP. بالنسبة لرفع ZIP، يجب أن
تتضمن محتويات ZIP مسار دليل العمل تماماً كما أدخلته.
### pyproject.toml مفقود
يجب أن يشير دليل العمل إلى مجلد مشروع Crew أو Flow، وليس فقط إلى مجلد أب
يحتوي على عدة مشاريع.
### uv.lock أو poetry.lock مفقود
اعمل commit لملف قفل إما في مجلد المشروع المحدد أو في جذر المستودع. بالنسبة
إلى UV workspaces، يتم دعم إبقاء `uv.lock` في جذر workspace.
### Auto-Deploy غير متاح
يتم تعطيل auto-deploy أثناء تعيين دليل عمل. استخدم إعادة النشر اليدوية أو شغّل
إعادة النشر من CI/CD باستخدام AMP API.
<Card title="النشر على AMP" icon="rocket" href="/ar/enterprise/guides/deploy-to-amp">
تابع دليل النشر بعد اختيار دليل عمل monorepo.
</Card>

View File

@@ -510,6 +510,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -1029,6 +1030,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -1516,6 +1518,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -2002,6 +2005,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -2488,6 +2492,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -2984,6 +2989,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -3480,6 +3486,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -3976,6 +3983,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -4472,6 +4480,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -4957,6 +4966,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -5442,6 +5452,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/update-crew",
@@ -5927,6 +5938,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/training-crews",
@@ -6414,6 +6426,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/training-crews",
@@ -6899,6 +6912,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/training-crews",
@@ -7387,6 +7401,7 @@
"en/enterprise/guides/build-crew",
"en/enterprise/guides/prepare-for-deployment",
"en/enterprise/guides/deploy-to-amp",
"en/enterprise/guides/monorepo-deployments",
"en/enterprise/guides/private-package-registry",
"en/enterprise/guides/kickoff-crew",
"en/enterprise/guides/training-crews",
@@ -7898,6 +7913,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -8394,6 +8410,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -8858,6 +8875,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -9322,6 +9340,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -9785,6 +9804,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -10258,6 +10278,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -10731,6 +10752,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -11204,6 +11226,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -11677,6 +11700,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -12140,6 +12164,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -12603,6 +12628,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -13066,6 +13092,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -13528,6 +13555,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -13990,6 +14018,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -14453,6 +14482,7 @@
"pt-BR/enterprise/guides/build-crew",
"pt-BR/enterprise/guides/prepare-for-deployment",
"pt-BR/enterprise/guides/deploy-to-amp",
"pt-BR/enterprise/guides/monorepo-deployments",
"pt-BR/enterprise/guides/private-package-registry",
"pt-BR/enterprise/guides/kickoff-crew",
"pt-BR/enterprise/guides/training-crews",
@@ -14992,6 +15022,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -15500,6 +15531,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -15976,6 +16008,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -16452,6 +16485,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -16928,6 +16962,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -17414,6 +17449,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -17900,6 +17936,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -18386,6 +18423,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -18872,6 +18910,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -19348,6 +19387,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -19824,6 +19864,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -20300,6 +20341,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -20775,6 +20817,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -21250,6 +21293,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -21726,6 +21770,7 @@
"ko/enterprise/guides/build-crew",
"ko/enterprise/guides/prepare-for-deployment",
"ko/enterprise/guides/deploy-to-amp",
"ko/enterprise/guides/monorepo-deployments",
"ko/enterprise/guides/private-package-registry",
"ko/enterprise/guides/kickoff-crew",
"ko/enterprise/guides/training-crews",
@@ -22265,6 +22310,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -22773,6 +22819,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -23249,6 +23296,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -23725,6 +23773,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -24201,6 +24250,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -24687,6 +24737,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -25173,6 +25224,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -25659,6 +25711,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -26145,6 +26198,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -26621,6 +26675,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -27097,6 +27152,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -27573,6 +27629,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -28048,6 +28105,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -28523,6 +28581,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",
@@ -28999,6 +29058,7 @@
"ar/enterprise/guides/build-crew",
"ar/enterprise/guides/prepare-for-deployment",
"ar/enterprise/guides/deploy-to-amp",
"ar/enterprise/guides/monorepo-deployments",
"ar/enterprise/guides/private-package-registry",
"ar/enterprise/guides/kickoff-crew",
"ar/enterprise/guides/training-crews",

View File

@@ -164,6 +164,12 @@ You need to push your crew to a GitHub repository. If you haven't created a crew
![Select Repository](/images/enterprise/select-repo.png)
</Frame>
<Tip>
If your Crew or Flow is inside a monorepo subfolder, expand **Advanced**
and set a working directory before deploying. See
[Monorepo Deployments](/en/enterprise/guides/monorepo-deployments).
</Tip>
</Step>
<Step title="Set Environment Variables">

View File

@@ -0,0 +1,225 @@
---
title: "Monorepo Deployments"
description: "Deploy a Crew or Flow from a subfolder in a larger repository"
icon: "folder-tree"
mode: "wide"
---
<Note>
Use a working directory when your Crew or Flow lives inside a larger
repository. CrewAI AMP validates, builds, tests, and runs the automation from
that subfolder instead of the repository root.
</Note>
## When to Use This
Monorepo deployments are useful when one repository contains multiple
automations, shared packages, or other application code:
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
|-- support_agent/
| |-- pyproject.toml
| `-- src/
| `-- support_agent/
| |-- main.py
| `-- crew.py
`-- research_flow/
|-- pyproject.toml
`-- src/
`-- research_flow/
`-- main.py
```
To deploy `support_agent`, set the working directory to:
```text
crews/support_agent
```
AMP still pulls or uploads the whole repository, but it treats the selected
folder as the automation project root.
## What the Working Directory Controls
When a working directory is set, AMP uses that folder for:
- Project validation, including `pyproject.toml`, `src/`, and the Crew or Flow entry point
- Dependency installation with `uv`
- The running process working directory
- The `CREW_ROOT_DIR` environment variable
Leaving the field empty keeps the existing behavior and uses the repository
root.
## Supported Sources
You can set a working directory when creating a deployment from:
- A connected GitHub repository
- A Git repository configured in AMP
- A ZIP upload
<Info>
Configure working directories in the AMP web interface. The
`crewai deploy create` CLI flow does not prompt for this field.
</Info>
You can also add or change the working directory on an existing deployment from
the deployment's **Settings** page. The change takes effect on the next deploy.
<Warning>
Working directories and auto-deploy cannot be used together. If a deployment
has a working directory, auto-deploy is disabled for that deployment. Turn
auto-deploy off before setting a working directory.
</Warning>
## Configure a New Deployment
<Steps>
<Step title="Open Deploy from Code">
In CrewAI AMP, create a new deployment and choose your source: GitHub, Git
Repository, or ZIP upload.
</Step>
<Step title="Select the repository, branch, or ZIP file">
Choose the repository and branch that contain your monorepo, or upload a ZIP
file whose root contains the monorepo contents.
</Step>
<Step title="Open Advanced settings">
Expand the **Advanced** section in the deploy form.
</Step>
<Step title="Enter the working directory">
Enter the path from the repository root to the Crew or Flow project:
```text
crews/support_agent
```
Do not include a leading slash.
</Step>
<Step title="Deploy">
Add any required environment variables, then start the deployment.
</Step>
</Steps>
## Configure an Existing Deployment
<Steps>
<Step title="Open the deployment settings">
Go to your automation in AMP and open **Settings**.
</Step>
<Step title="Turn off auto-deploy if needed">
If auto-deploy is enabled, disable it first. The working directory field is
unavailable while auto-deploy is on.
</Step>
<Step title="Set the working directory">
In **Basic settings**, enter the subfolder path, such as:
```text
crews/support_agent
```
</Step>
<Step title="Redeploy">
Save the setting and redeploy the automation. The new working directory is
used on the next deploy.
</Step>
</Steps>
## Path Rules
The working directory must be a relative path inside the repository or ZIP root.
| Rule | Example |
|------|---------|
| Use a relative path | `crews/support_agent` |
| Do not start with `/` | `/crews/support_agent` is invalid |
| Do not use `.` or `..` path segments | `crews/../support_agent` is invalid |
| Use only letters, numbers, dashes, underscores, dots, and forward slashes | `crews/support agent` is invalid |
| Keep the path at 255 characters or fewer | Longer paths are rejected |
AMP trims leading and trailing whitespace, collapses repeated slashes, and
removes trailing slashes. A blank value uses the repository root.
## Lock Files and UV Workspaces
The selected folder must contain the automation's `pyproject.toml` and `src/`
directory. A `uv.lock` or `poetry.lock` file can live either in the selected
folder or at the repository root.
This supports both common monorepo layouts:
<Tabs>
<Tab title="Project lock file">
```text
company-ai/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- uv.lock
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
<Tab title="Workspace lock file">
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
`-- support_agent/
|-- pyproject.toml
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
</Tabs>
<Tip>
If your automation imports shared packages from elsewhere in the monorepo,
declare those packages in `pyproject.toml` using UV workspace, path, or source
configuration. AMP runs the automation from the selected folder, so shared
code should be installed as a dependency instead of relying on the repository
root being on the Python path.
</Tip>
## Troubleshooting
### Working Directory Not Found
Check that the path is relative to the repository or ZIP root. For ZIP uploads,
the ZIP contents must include the working directory path exactly as entered.
### Missing pyproject.toml
The working directory should point to the Crew or Flow project folder, not just
to a parent folder that contains several projects.
### Missing uv.lock or poetry.lock
Commit a lock file either in the selected project folder or in the repository
root. For UV workspaces, keeping `uv.lock` at the workspace root is supported.
### Auto-Deploy Is Unavailable
Auto-deploy is disabled while a working directory is set. Use manual redeploys
or trigger redeployments from CI/CD with the AMP API instead.
<Card title="Deploy to AMP" icon="rocket" href="/en/enterprise/guides/deploy-to-amp">
Continue with the deployment guide after choosing your monorepo working
directory.
</Card>

View File

@@ -163,6 +163,12 @@ Crew를 GitHub 저장소에 푸시해야 합니다. 아직 Crew를 만들지 않
![Select Repository](/images/enterprise/select-repo.png)
</Frame>
<Tip>
Crew 또는 Flow가 모노레포 하위 폴더 안에 있다면 배포 전에
**Advanced**를 펼치고 작업 디렉터리를 설정하세요.
[모노레포 배포](/ko/enterprise/guides/monorepo-deployments)를 참조하세요.
</Tip>
</Step>
<Step title="환경 변수 설정하기">
@@ -440,4 +446,4 @@ type = "flow"
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
배포 문제 또는 AMP 플랫폼에 대한 문의 사항이 있으시면 지원팀에 연락해 주세요.
</Card>
</Card>

View File

@@ -0,0 +1,222 @@
---
title: "모노레포 배포"
description: "더 큰 저장소의 하위 폴더에서 Crew 또는 Flow 배포하기"
icon: "folder-tree"
mode: "wide"
---
<Note>
Crew 또는 Flow가 더 큰 저장소 안에 있을 때 작업 디렉터리를 사용하세요.
CrewAI AMP는 저장소 루트 대신 해당 하위 폴더에서 자동화를 검증, 빌드,
실행합니다.
</Note>
## 사용 시점
모노레포 배포는 하나의 저장소에 여러 자동화, 공유 패키지 또는 다른 애플리케이션
코드가 함께 있을 때 유용합니다:
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
|-- support_agent/
| |-- pyproject.toml
| `-- src/
| `-- support_agent/
| |-- main.py
| `-- crew.py
`-- research_flow/
|-- pyproject.toml
`-- src/
`-- research_flow/
`-- main.py
```
`support_agent`를 배포하려면 작업 디렉터리를 다음과 같이 설정합니다:
```text
crews/support_agent
```
AMP는 여전히 전체 저장소를 가져오거나 업로드하지만, 선택한 폴더를 자동화
프로젝트 루트로 처리합니다.
## 작업 디렉터리가 제어하는 항목
작업 디렉터리가 설정되면 AMP는 해당 폴더를 다음 용도로 사용합니다:
- `pyproject.toml`, `src/`, Crew 또는 Flow 진입점을 포함한 프로젝트 검증
- `uv`를 사용한 종속성 설치
- 실행 중인 프로세스의 작업 디렉터리
- `CREW_ROOT_DIR` 환경 변수
필드를 비워 두면 기존 동작이 유지되며 저장소 루트를 사용합니다.
## 지원되는 소스
다음 소스에서 배포를 만들 때 작업 디렉터리를 설정할 수 있습니다:
- 연결된 GitHub 저장소
- AMP에 구성된 Git 저장소
- ZIP 업로드
<Info>
작업 디렉터리는 AMP 웹 인터페이스에서 구성하세요.
`crewai deploy create` CLI 흐름은 이 필드를 묻지 않습니다.
</Info>
기존 배포의 **Settings** 페이지에서도 작업 디렉터리를 추가하거나 변경할 수
있습니다. 변경 사항은 다음 배포부터 적용됩니다.
<Warning>
작업 디렉터리와 auto-deploy는 함께 사용할 수 없습니다. 배포에 작업
디렉터리가 설정되어 있으면 해당 배포의 auto-deploy가 비활성화됩니다.
작업 디렉터리를 설정하기 전에 auto-deploy를 끄세요.
</Warning>
## 새 배포 구성
<Steps>
<Step title="Deploy from Code 열기">
CrewAI AMP에서 새 배포를 만들고 소스를 선택합니다: GitHub, Git
Repository 또는 ZIP 업로드.
</Step>
<Step title="저장소, 브랜치 또는 ZIP 파일 선택">
모노레포가 들어 있는 저장소와 브랜치를 선택하거나, 루트에 모노레포 내용이
포함된 ZIP 파일을 업로드합니다.
</Step>
<Step title="고급 설정 열기">
배포 양식에서 **Advanced** 섹션을 펼칩니다.
</Step>
<Step title="작업 디렉터리 입력">
저장소 루트에서 Crew 또는 Flow 프로젝트까지의 경로를 입력합니다:
```text
crews/support_agent
```
앞에 슬래시를 붙이지 마세요.
</Step>
<Step title="배포">
필요한 환경 변수를 추가한 다음 배포를 시작합니다.
</Step>
</Steps>
## 기존 배포 구성
<Steps>
<Step title="배포 설정 열기">
AMP에서 자동화로 이동한 뒤 **Settings**를 엽니다.
</Step>
<Step title="필요한 경우 auto-deploy 끄기">
auto-deploy가 활성화되어 있으면 먼저 끄세요. auto-deploy가 켜져 있는
동안에는 작업 디렉터리 필드를 사용할 수 없습니다.
</Step>
<Step title="작업 디렉터리 설정">
**Basic settings**에서 다음과 같은 하위 폴더 경로를 입력합니다:
```text
crews/support_agent
```
</Step>
<Step title="다시 배포">
설정을 저장하고 자동화를 다시 배포합니다. 새 작업 디렉터리는 다음 배포부터
사용됩니다.
</Step>
</Steps>
## 경로 규칙
작업 디렉터리는 저장소 또는 ZIP 루트 안의 상대 경로여야 합니다.
| 규칙 | 예시 |
|------|------|
| 상대 경로를 사용합니다 | `crews/support_agent` |
| `/`로 시작하지 않습니다 | `/crews/support_agent`는 유효하지 않습니다 |
| `.` 또는 `..` 경로 세그먼트를 사용하지 않습니다 | `crews/../support_agent`는 유효하지 않습니다 |
| 문자, 숫자, 하이픈, 밑줄, 점, 슬래시만 사용합니다 | `crews/support agent`는 유효하지 않습니다 |
| 경로는 255자 이하로 유지합니다 | 더 긴 경로는 거부됩니다 |
AMP는 앞뒤 공백을 제거하고, 반복된 슬래시를 하나로 줄이며, 끝의 슬래시를
제거합니다. 빈 값은 저장소 루트를 사용합니다.
## Lock 파일과 UV 워크스페이스
선택한 폴더에는 자동화의 `pyproject.toml`과 `src/` 디렉터리가 있어야
합니다. `uv.lock` 또는 `poetry.lock` 파일은 선택한 폴더나 저장소 루트에
둘 수 있습니다.
이 방식은 일반적인 두 가지 모노레포 레이아웃을 모두 지원합니다:
<Tabs>
<Tab title="프로젝트 lock 파일">
```text
company-ai/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- uv.lock
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
<Tab title="워크스페이스 lock 파일">
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
`-- support_agent/
|-- pyproject.toml
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
</Tabs>
<Tip>
자동화가 모노레포의 다른 위치에 있는 공유 패키지를 가져온다면, UV
workspace, path 또는 source 설정을 사용해 해당 패키지를 `pyproject.toml`에
선언하세요. AMP는 선택한 폴더에서 자동화를 실행하므로, 저장소 루트가
Python path에 있다고 가정하기보다 공유 코드를 종속성으로 설치해야 합니다.
</Tip>
## 문제 해결
### 작업 디렉터리를 찾을 수 없음
경로가 저장소 또는 ZIP 루트를 기준으로 한 상대 경로인지 확인하세요. ZIP
업로드의 경우 ZIP 내용에 입력한 작업 디렉터리 경로가 정확히 포함되어야 합니다.
### pyproject.toml 누락
작업 디렉터리는 여러 프로젝트를 담은 상위 폴더가 아니라 Crew 또는 Flow 프로젝트
폴더를 가리켜야 합니다.
### uv.lock 또는 poetry.lock 누락
선택한 프로젝트 폴더 또는 저장소 루트에 lock 파일을 커밋하세요. UV
워크스페이스의 경우 `uv.lock`을 워크스페이스 루트에 두는 방식이 지원됩니다.
### Auto-Deploy를 사용할 수 없음
작업 디렉터리가 설정되어 있으면 auto-deploy가 비활성화됩니다. 수동 재배포를
사용하거나 AMP API로 CI/CD에서 재배포를 트리거하세요.
<Card title="AMP에 배포하기" icon="rocket" href="/ko/enterprise/guides/deploy-to-amp">
모노레포 작업 디렉터리를 선택한 뒤 배포 가이드를 계속 진행하세요.
</Card>

View File

@@ -163,6 +163,12 @@ Você precisa enviar seu crew para um repositório do GitHub. Caso ainda não te
![Selecionar Repositório](/images/enterprise/select-repo.png)
</Frame>
<Tip>
Se seu Crew ou Flow estiver dentro de uma subpasta de monorepo, expanda
**Advanced** e defina um diretório de trabalho antes de implantar. Consulte
[Implantações em Monorepo](/pt-BR/enterprise/guides/monorepo-deployments).
</Tip>
</Step>
<Step title="Definir as Variáveis de Ambiente">
@@ -441,4 +447,4 @@ type = "flow"
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
Entre em contato com nossa equipe de suporte para ajuda com questões de
implantação ou dúvidas sobre a plataforma AMP.
</Card>
</Card>

View File

@@ -0,0 +1,230 @@
---
title: "Implantações em Monorepo"
description: "Implante um Crew ou Flow a partir de uma subpasta em um repositório maior"
icon: "folder-tree"
mode: "wide"
---
<Note>
Use um diretório de trabalho quando seu Crew ou Flow estiver dentro de um
repositório maior. O CrewAI AMP valida, faz o build e executa a automação a
partir dessa subpasta em vez da raiz do repositório.
</Note>
## 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:
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
|-- support_agent/
| |-- pyproject.toml
| `-- src/
| `-- support_agent/
| |-- main.py
| `-- crew.py
`-- research_flow/
|-- pyproject.toml
`-- src/
`-- research_flow/
`-- main.py
```
Para implantar `support_agent`, defina o diretório de trabalho como:
```text
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.
## 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`, `src/` e o ponto de entrada do 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
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
<Info>
Configure diretórios de trabalho na interface web do AMP. O fluxo
`crewai deploy create` da CLI não solicita esse campo.
</Info>
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.
<Warning>
Diretórios de trabalho e auto-deploy não podem ser usados juntos. Se uma
implantação tiver um diretório de trabalho, o auto-deploy fica desabilitado
para ela. Desative o auto-deploy antes de definir um diretório de trabalho.
</Warning>
## Configurar uma Nova Implantação
<Steps>
<Step title="Abra Deploy from Code">
No CrewAI AMP, crie uma nova implantação e escolha sua fonte: GitHub, Git
Repository ou upload de ZIP.
</Step>
<Step title="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.
</Step>
<Step title="Abra as configurações avançadas">
Expanda a seção **Advanced** no formulário de deploy.
</Step>
<Step title="Informe o diretório de trabalho">
Informe o caminho da raiz do repositório até o projeto Crew ou Flow:
```text
crews/support_agent
```
Não inclua uma barra inicial.
</Step>
<Step title="Implante">
Adicione as variáveis de ambiente necessárias e inicie a implantação.
</Step>
</Steps>
## Configurar uma Implantação Existente
<Steps>
<Step title="Abra as configurações da implantação">
Acesse sua automação no AMP e abra **Settings**.
</Step>
<Step title="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.
</Step>
<Step title="Defina o diretório de trabalho">
Em **Basic settings**, informe o caminho da subpasta, como:
```text
crews/support_agent
```
</Step>
<Step title="Reimplante">
Salve a configuração e reimplante a automação. O novo diretório de trabalho
será usado no próximo deploy.
</Step>
</Steps>
## 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
A pasta selecionada deve conter o `pyproject.toml` e o diretório `src/` da
automação. 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 monorepo:
<Tabs>
<Tab title="Arquivo lock do projeto">
```text
company-ai/
`-- crews/
`-- support_agent/
|-- pyproject.toml
|-- uv.lock
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
<Tab title="Arquivo lock do workspace">
```text
company-ai/
|-- uv.lock
|-- packages/
| `-- shared_tools/
`-- crews/
`-- support_agent/
|-- pyproject.toml
`-- src/
`-- support_agent/
`-- main.py
```
</Tab>
</Tabs>
<Tip>
Se sua automação importar pacotes compartilhados de outro lugar do monorepo,
declare esses pacotes no `pyproject.toml` usando configuração de workspace,
caminho ou source do UV. O AMP executa a automação a partir da pasta
selecionada, então o código compartilhado deve ser instalado como dependência
em vez de depender da raiz do repositório no Python path.
</Tip>
## Solução de Problemas
### 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
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
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
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.
<Card title="Deploy para AMP" icon="rocket" href="/pt-BR/enterprise/guides/deploy-to-amp">
Continue com o guia de implantação depois de escolher o diretório de trabalho
do monorepo.
</Card>