استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "إضافة أمر CI"v7.5.11٦/١/٢٠٢٦
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
أمر CI
نسخ الكود إلى الحافظة
npx intlayer ci <command...>تم تصميم أمر CI للأتمتة وخطوط أنابيب CI/CD. يقوم بحقن بيانات الاعتماد تلقائياً من متغير البيئة INTLAYER_PROJECT_CREDENTIALS ويمكنه تشغيل أوامر Intlayer عبر مشاريع متعددة في مستودع أحادي.
كيفية العمل
يعمل أمر CI في وضعين:
وضع المشروع الواحد: إذا كان الدليل الحالي يطابق أحد مسارات المشاريع في
INTLAYER_PROJECT_CREDENTIALS، فإنه يشغل الأمر فقط لهذا المشروع المحدد.وضع التكرار: إذا لم يتم اكتشاف سياق مشروع محدد، فإنه يتكرر عبر جميع المشاريع المُكوّنة ويشغل الأمر لكل واحد منها.
متغير البيئة
يتطلب الأمر تعيين متغير البيئة INTLAYER_PROJECT_CREDENTIALS. يجب أن يحتوي هذا المتغير على كائن JSON يقوم بتعيين مسارات المشاريع إلى بيانات اعتمادها:
نسخ الكود إلى الحافظة
{ "packages/app": { "clientId": "your-client-id-1", "clientSecret": "your-client-secret-1" }, "packages/admin": { "clientId": "your-client-id-2", "clientSecret": "your-client-secret-2" }}اكتشاف مدير الحزم
يكتشف أمر CI تلقائياً مدير الحزم المستخدم (npm أو yarn أو pnpm أو bun) بناءً على متغير البيئة npm_config_user_agent ويستخدم الأمر المناسب لتنفيذ Intlayer.
الوسائط
<command...>: أمر Intlayer المراد تنفيذه (على سبيل المثال،fillأوpushأوbuild). يمكنك تمرير أي أمر Intlayer ووسائطه.مثال:
npx intlayer ci fill --verboseمثال:
npx intlayer ci pushمثال:
npx intlayer ci build
أمثلة
تشغيل أمر في وضع المشروع الواحد
إذا كنت في دليل مشروع يطابق أحد المسارات في INTLAYER_PROJECT_CREDENTIALS:
نسخ الكود إلى الحافظة
cd packages/appnpx intlayer ci fillسيقوم هذا بتشغيل أمر fill مع حقن بيانات الاعتماد تلقائياً لمشروع packages/app.
تشغيل أمر عبر جميع المشاريع
إذا كنت في دليل لا يطابق أي مسار مشروع، سيتكرر الأمر عبر جميع المشاريع المُكوّنة:
نسخ الكود إلى الحافظة
cd /path/to/monoreponpx intlayer ci pushسيقوم هذا بتشغيل أمر push لكل مشروع مُكوّن في INTLAYER_PROJECT_CREDENTIALS.
تمرير علامات إضافية
يمكنك تمرير أي علامات إلى أمر Intlayer الأساسي:
نسخ الكود إلى الحافظة
npx intlayer ci fill --verbose --mode completeالاستخدام في خطوط أنابيب CI/CD
في تكوين CI/CD الخاص بك (على سبيل المثال، GitHub Actions أو GitLab CI)، قم بتعيين INTLAYER_PROJECT_CREDENTIALS كسر:
نسخ الكود إلى الحافظة
# مثال GitHub Actionsenv: INTLAYER_PROJECT_CREDENTIALS: ${{ secrets.INTLAYER_PROJECT_CREDENTIALS }}steps: - name: ملء القواميس run: npx intlayer ci fillإجراءات GitHub المُنشأة تلقائياً
عند تشغيل intlayer init، يكتشف Intlayer مدير الحزم الخاص بك (npm أو yarn أو pnpm أو bun) وينشئ سير عملين من إجراءات GitHub تحت .github/workflows/، مع أوامر تطابق مدير الحزم هذا:
intlayer-fill.yml— في كل طلب دمج، ينشئ القواميس ويشغلintlayer fill --git-diff --mode completeلإنشاء الترجمات المفقودة للقواميس المتغيرة، ثم يرسل النتيجة مرة أخرى إلى فرع طلب الدمج.intlayer-test.yml— في كل طلب دمج، ينشئ القواموس ويشغلintlayer test، ويفشل الفحص عندما تكون الترجمات المطلوبة مفقودة للغات المطلوبة.
لن يتم استبدال ملفات سير العمل الموجودة. لتخطي الإنشاء بالكامل، قم بتشغيل:
نسخ الكود إلى الحافظة
npx intlayer init --no-github-actionsتوفير وصول الذكاء الاصطناعي لسير العمل fill
ملف intlayer-fill.yml المُنشأ يتطلب وصول الذكاء الاصطناعي. يتوفر خياران (مُكوّنان في كتلة env في سير العمل):
- مفتاح مزود الذكاء الاصطناعي الخاص بك — أضف سراً
AI_API_KEYفي إعدادات المستودع (Settings → Secrets and variables → Actions). يقوم سير العمل بإعادة توجيهه عبر--providerو--modelو--api-key. - مفاتيح وصول Intlayer CMS — أضف أسراراً
INTLAYER_CLIENT_IDوINTLAYER_CLIENT_SECRETوربطها في قسمeditorالخاص بك فيintlayer.config. مفاتيح وصول CMS تمنح وصول الذكاء الاصطناعي من خلال خادم Intlayer الخلفي.
سير العمل intlayer-test.yml لا يتطلب أي وصول للذكاء الاصطناعي.
معالجة الأخطاء
- إذا لم يتم تعيين
INTLAYER_PROJECT_CREDENTIALS، فسيخرج الأمر مع خطأ. - إذا لم يكن
INTLAYER_PROJECT_CREDENTIALSJSON صالحاً، فسيخرج الأمر مع خطأ. - إذا لم يكن مسار المشروع موجوداً، فسيتم تخطيه مع تحذير.
- إذا فشل أي مشروع، فسيخرج الأمر برمز حالة غير صفري.
حالات الاستخدام
- أتمتة المستودع الأحادي: تشغيل أوامر Intlayer عبر مشاريع متعددة في مستودع أحادي
- خطوط أنابيب CI/CD: أتمتة إدارة القواميس في سير عمل التكامل المستمر
- العمليات المجمعة: تنفيذ نفس العملية على مشاريع Intlayer متعددة في وقت واحد
- إدارة الأسرار: إدارة بيانات الاعتماد بشكل آمن لعدة مشاريع باستخدام متغيرات البيئة
أفضل ممارسات الأمان
- قم بتخزين
INTLAYER_PROJECT_CREDENTIALSكأسرار مشفرة في منصة CI/CD الخاصة بك - لا تقم أبداً بإيداع بيانات الاعتماد في التحكم بالإصدارات
- استخدم بيانات اعتماد خاصة بالبيئة لبيئات النشر المختلفة
- قم بتدوير بيانات الاعتماد بانتظام