mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-02 13:48:09 +00:00
Document monorepo deployments (#6018)
* Document monorepo deployments * Add localized monorepo docs
This commit is contained in:
@@ -164,6 +164,12 @@ crewai deploy remove <deployment_id>
|
||||

|
||||
</Frame>
|
||||
|
||||
<Tip>
|
||||
إذا كان Crew أو Flow داخل مجلد فرعي في monorepo، فوسّع **Advanced**
|
||||
وعيّن دليل عمل قبل النشر. راجع
|
||||
[النشر من Monorepo](/ar/enterprise/guides/monorepo-deployments).
|
||||
</Tip>
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="تعيين متغيرات البيئة">
|
||||
|
||||
220
docs/ar/enterprise/guides/monorepo-deployments.mdx
Normal file
220
docs/ar/enterprise/guides/monorepo-deployments.mdx
Normal 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>
|
||||
@@ -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",
|
||||
|
||||
@@ -164,6 +164,12 @@ You need to push your crew to a GitHub repository. If you haven't created a crew
|
||||

|
||||
</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">
|
||||
|
||||
225
docs/en/enterprise/guides/monorepo-deployments.mdx
Normal file
225
docs/en/enterprise/guides/monorepo-deployments.mdx
Normal 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>
|
||||
@@ -163,6 +163,12 @@ Crew를 GitHub 저장소에 푸시해야 합니다. 아직 Crew를 만들지 않
|
||||

|
||||
</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>
|
||||
|
||||
222
docs/ko/enterprise/guides/monorepo-deployments.mdx
Normal file
222
docs/ko/enterprise/guides/monorepo-deployments.mdx
Normal 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>
|
||||
@@ -163,6 +163,12 @@ Você precisa enviar seu crew para um repositório do GitHub. Caso ainda não te
|
||||

|
||||
</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>
|
||||
|
||||
230
docs/pt-BR/enterprise/guides/monorepo-deployments.mdx
Normal file
230
docs/pt-BR/enterprise/guides/monorepo-deployments.mdx
Normal 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>
|
||||
Reference in New Issue
Block a user