GitLab CI/CD
الترجمة بالذكاء الاصطناعي مع GitLab CI/CD و Lingo.dev CI/CD
ما هو GitLab CI/CD؟
GitLab CI/CD هو منصة تكامل وتسليم مستمر مدمجة في GitLab. تتيح للمستخدمين تحديد خطوط الأنابيب في ملفات YAML لبناء واختبار ونشر الكود أو أتمتة المهام التي يتم تشغيلها بواسطة أحداث المستودع.
ما هو Lingo.dev CI/CD؟
Lingo.dev CI/CD هي أداة مدعومة بالذكاء الاصطناعي لتوطين التطبيقات والمحتوى في CI/CD، مما يضمن عدم تقادم الترجمات أبدًا. تم بناؤها على أساس Lingo.dev CLI ومتاحة عبر أمر ci:
npx lingo.dev@latest ci --help
حول هذا الدليل
يشرح هذا الدليل كيفية إعداد Lingo.dev CI/CD مع GitLab CI/CD وLingo.dev Engine.
الخطوة 1. إعداد Lingo.dev CLI
للبدء، اتبع البدء السريع لـ Lingo.dev CLI.
يجب أن تنتهي بـ:
- مفتاح API لـ Lingo.dev
- ملف
i18n.jsonالذي يكوّن سلوك خط أنابيب الترجمة - القدرة على ترجمة المحتوى باستخدام
npx lingo.dev@latest run
الخطوة 2. الحصول على رمز الوصول
في GitLab CI/CD، يلزم وجود رمز وصول لأداء إجراءات معينة داخل خط الأنابيب.
هناك نوعان من رموز الوصول:
يمكن استخدام أي منهما، ولكن رموز الوصول الشخصية هي المتاحة فقط للمستخدمين غير المدفوعين في GitLab.
رموز الوصول الشخصية
-
في الشريط الجانبي الأيسر، حدد صورتك الرمزية.
-
حدد تعديل الملف الشخصي.
-
في الشريط الجانبي الأيسر، حدد رموز الوصول.
-
حدد إضافة رمز جديد.
-
في اسم الرمز، أدخل اسمًا للرمز (مثل "Lingo.dev").
-
قم بتمكين النطاقات التالية.
apiread_repositorywrite_repository
-
حدد إنشاء رمز وصول شخصي.
رموز وصول المشروع
-
انتقل إلى مشروع في GitLab.
-
حدد الإعدادات > رموز الوصول.
-
حدد إضافة رمز جديد.
-
في اسم الرمز، أدخل اسمًا.
-
حدد دورًا للرمز.
-
قم بتمكين النطاقات التالية.
apiread_repositorywrite_repository
-
حدد إنشاء رمز وصول المشروع.
الخطوة 2. تكوين متغيرات CI/CD
في GitLab، تسمح متغيرات CI/CD للخطوط بالوصول إلى القيم الحساسة. لاستخدام Lingo.dev في GitLab CI/CD، يجب أن يكون كل من مفتاح واجهة برمجة تطبيقات Lingo.dev ورمز وصول GitLab متاحين كمتغيرات.
تحذير: بشكل افتراضي، تكون متغيرات CI/CD متاحة فقط على الفروع المحمية. إذا كنت لا تستخدم الفروع المحمية، قم بتعطيل خيار حماية المتغير عند إنشاء المتغيرات.
مفتاح واجهة برمجة تطبيقات Lingo.dev
- انتقل إلى الإعدادات > CI/CD.
- قم بتوسيع قسم المتغيرات.
- انقر على إضافة متغير.
- في حقل المفتاح، أدخل
LINGODOTDEV_API_KEY. - في حقل القيمة، أدخل مفتاح واجهة برمجة تطبيقات Lingo.dev.
- حدد الرؤية > مخفي.
- انقر على إضافة متغير.
رمز وصول GitLab
- انتقل إلى الإعدادات > CI/CD.
- قم بتوسيع قسم المتغيرات.
- انقر على إضافة متغير.
- في حقل المفتاح، أدخل
GL_TOKEN. - في حقل القيمة، أدخل رمز وصول GitLab.
- حدد الرؤية > مخفي.
- انقر على إضافة متغير.
الخطوة 3. اختيار سير العمل
يمكنك إعداد Lingo.dev CI/CD بطرق مختلفة لدعم سير العمل المختلفة. هذه بعض سير العمل التي نوصي بها (ونقدم أمثلة عليها):
- عندما يتم دمج المحتوى في
main، قم بإجراء الترجمات إلىmain - عندما يتم دمج المحتوى في
main، قم بإنشاء طلب دمج منmain - عندما يتم دمج المحتوى في فرع الميزة، قم بإجراء الترجمات إلى الفرع
- عندما يتم دمج المحتوى في فرع الميزة، قم بإنشاء طلب دمج من الفرع
لكن لا يوجد سير عمل "أفضل". كلها لها مفاضلات. إذا لم تكن متأكدًا من أين تبدأ، فإننا نوصي بالبدء بالخيار الأول. إنه سير العمل الأبسط والأكثر شفافية.
الخطوة 4. إعداد خط الأنابيب
-
في جذر المستودع، قم بإنشاء ملف
.gitlab-ci.yml:touch .gitlab-ci.yml -
انسخ أحد أمثلة خطوط الأنابيب إلى الملف.
-
قم بالالتزام ودفع التغييرات إلى فرع
main:git add .gitlab-ci.yml git commit -m "feat: GitLab CI pipeline for Lingo.dev" git push
(اختياري) الخطوة 5. تخصيص خط الأنابيب
Lingo.dev CI/CD لديه قيم افتراضية، في معظم الحالات، لا تحتاج إلى تخصيص. يمكنك، مع ذلك، تجاوزها باستخدام علامات CLI للأمر ci،
npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY" --commit-message "رسالة الالتزام المخصصة الخاصة بي!"
لعرض جميع الخيارات المتاحة، راجع أوامر CLI.
أمثلة خطوط الأنابيب
الالتزام بالفرع الرئيسي
عندما يتم دمج المحتوى في main، قم بالالتزام بالترجمات إلى main.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY"
only:
- main
طلب الدمج من الفرع الرئيسي
عندما يتم دمج المحتوى في main، قم بإنشاء طلب دمج من main.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --pull-request --api-key "$LINGODOTDEV_API_KEY"
only:
- main
الالتزام بفرع الميزة
عندما يتم دمج المحتوى في فرع ميزة، قم بالالتزام بالترجمات إلى الفرع.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --api-key "$LINGODOTDEV_API_KEY"
only:
- branches
except:
- main
طلب الدمج من فرع الميزة
عندما يتم دمج المحتوى في فرع ميزة، قم بإنشاء طلب دمج من الفرع.
image:
name: lingodotdev/ci-action:latest
entrypoint: [""]
stages: [translate]
translate:
stage: translate
script:
- npx lingo.dev@latest ci --pull-request --api-key "$LINGODOTDEV_API_KEY"
except:
- main