Fastlane — ما هو، الأدوات وأتمتة بناء التطبيقات المحمولة

المؤلف: IT Sectr نُشر: 2026-04-14 وقت القراءة: 10 دق

Fastlane هي أداة مفتوحة المصدر لأتمتة بناء واختبار ونشر تطبيقات iOS و Android. بدلاً من تنفيذ عشرات الأوامر يدوياً للتوقيع والبناء والرفع إلى المتجر، يقوم المطور بوصف العملية بأكملها في Fastfile وتشغيلها بأمر واحد. وفقاً لـ Fastlane Docs, 2025، يتم استخدام الأداة في أكثر من 1.5 مليون مشروع في جميع أنحاء العالم. يجمع Fastlane بين الأدوات الخاصة بـ App Store Connect و Google Play Console وأنظمة توقيع الكود.

النقاط الرئيسية

  • Fastlane — أداة مفتوحة المصدر لأتمتة بناء وتسليم تطبيقات iOS و Android
  • Actions — أوامر مضمنة للعمل مع App Store و Google Play والتوقيع والاختبارات
  • Lanes — سيناريوهات الأتمتة في Fastfile تجمع تسلسلاً من الأحداث
  • Match — نظام إدارة الشهادات وملفات التوريد لـ iOS
  • الأدوات — scan (اختبارات)، gym (بناء)، deliver (رفع)، snapshot (لقطات شاشة)

ما هو Fastlane وكيف يؤتت البناء المحمول

Fastlane هي أداة أتمتة بناء التطبيقات المحمولة مكتوبة بلغة Ruby ومنشورة بترخيص MIT. تؤتت المهام الروتينية لمطور التطبيقات المحمولة: بناء التطبيق، تشغيل الاختبارات، إنشاء لقطات الشاشة، توقيع الكود ورفع الملفات الثنائية إلى App Store أو Google Play. بدلاً من 15–20 أمراً يدوياً، يقوم المطور بتشغيل أمر fastlane واحد باسم السيناريو.

يعمل Fastlane كـ غلاف فوق أدوات Xcode (xcodebuild، xcrun) و Android SDK (gradlew، apksigner، bundletool)، موفراً واجهة موحدة لكلتا المنصتين. يعتبر هذا ذا قيمة كبيرة للفرق التي تدعم نسخ iOS و Android لنفس التطبيق — يمكن لملفات Fastfile متطابقة أن تصف البناء لكلتا المنصتين باختلافات طفيفة في المعلمات.

وفقاً لـ GitHub، يحظى Fastlane بأكثر من 39 ألف نجمة وهو معيار الأتمتة في تطوير التطبيقات المحمولة. الأداة مدعومة من قبل المجتمع وشركة Google — Fastlane مدمج في Firebase كطريقة موصى بها لتسليم تطبيقات Android إلى Google Play Console.

معمارية Fastlane: Actions و Lanes والأدوات

تعتمد معمارية Fastlane على ثلاثة مستويات: actions (أوامر أساسية)، lanes (سيناريوهات) والأدوات (برنامج متخصصة). الأمر actions هي دوال فردية في Fastlane، كل واحدة تقوم بإجراء محدد: إنشاء لقطة شاشة، بناء IPA، الرفع إلى TestFlight. تجمع الـ lanes عدة actions في سيناريو تسلسلي موصوف في Fastfile.

Fastlane Actions

Actions هي وحدات بناء Fastlane. كل action تستلم معلمات وتنفذ مهمة واحدة. على سبيل المثال، action gym تبني تطبيق iOS، scan تشغل الاختبارات، pilot ترفع البناء إلى TestFlight. يحتوي Fastlane على أكثر من 200 action مضمنة، والوثائق لكل منها متاحة عبر الأمر fastlane action [الاسم].

إذا لم تكن الأمر actions المضمنة كافية، يمكن للمطور إنشاء custom action بلغة Ruby وربطها في Fastfile. تتم توزيع الأمر actions المخصصة من خلال إضافات Fastlane، التي تنشر في Rubygems وتتم تثبيتها عبر ملف FastfilePlugin في جذر المشروع.

Lanes وتكوينها

Lane هي سيناريو أتمتة مسمّى يجمع عدة actions في تسلسل منطقي. يمكن لـ lane استدعاء lanes أخرى (private lanes)، وتمرير المعلمات ومعالجة الأخطاء. يتيح هذا بناء تسلسل هرمي من السيناريوهات: lane أساسي للبناء، lane للنشر، lane لدورة CI/CD كاملة.

الأدوات الرئيسية Fastlane: scan و gym و match و deliver

يضم Fastlane مجموعة من الأدوات المتخصصة، كل واحدة تحل مهمة محددة في الأتمتة المحمولة. تشتغل الأدوات كأمر actions داخل lanes أو مباشرة من سطر الأوامر. دعنا ننظر إلى أربع أدوات رئيسية تغطي احتياجات CI/CD الرئيسية لـ iOS و Android.

الأداةالغرضالأمر
scanتشغيل اختبارات Unit و UI على محاكي iOSfastlane scan
gymبناء ملف IPA أو APP لـ iOSfastlane gym
matchمزامنة الشهادات وملفات التوريد عبر Gitfastlane match
deliverرفع الملف الثنائي والبيانات إلى App Store Connectfastlane deliver
snapshotإنشاء لقطات شاشة تلقائياً على أجهزة مختلفةfastlane snapshot

Scan تبسط تشغيل اختبارات Xcode، مختارة محاكياً مناسباً تلقائياً وتنسيق التقرير. Gym تبني التطبيق بعلامات تجميع مثلى وتدعم exportOptions.plist لأنواع البناء المختلفة (development، adhoc، appstore). Deliver تسمح برفع ليس فقط الملف الثنائي بل أيضاً لقطات الشاشة والوصف والإصدارات والأسعار من خلال ملف بيانات واحد.

تستحق الأداة Match اهتماماً خاصاً — فهي تحل مشكلة تخزين ومزامنة شهادات iOS في الفرق. تقوم Match بتشفير وتخزين الشهادات وملفات التوريد في مستودع Git، ويحصل المطورون عليها تلقائياً عند تشغيل fastlane match. يلغي هذا الإعداد اليدوي لكل محطة عمل.

Snapshot: إنشاء لقطات الشاشة

Snapshot هي أداة لإنشاء لقطات شاشة التطبيق المحمول تلقائياً على أجهزة ولغات مختلفة. تشغل Snapshot اختبارات UI على محاكيات iOS، مأخذة لقطات شاشة في كل خطوة اختبار. تحفظ النتائج في دليل fastlane/screenshots ويمكن رفعها إلى App Store Connect عبر deliver.

لنظام Android، تقوم screengrab بوظيفة مماثلة على محاكيات Android. تدعم كلتا الأدوات التوليد: تُنشأ لقطات الشاشة لكل لغة، مما يبسط تحضير المواد للنشر في متاجر التطبيقات متعددة اللغات.

إعداد Fastlane لتطبيقات iOS

لمشاريع iOS، يتم إعداد Fastlane عبر Gemfile (تثبيت جم Fastlane) و Fastfile في دليل fastlane. يتم الإعداد الأولي بأمر fastlane init، والذي يُنشئ هيكل الدليل الأساسي، ويطلب بيانات App Store Connect ويولد قالب Fastfile بأساسيات lanes.

الأمر الرئيسي لـ iOS هو fastlane match، والذي يجب تنفيذه أولاً للحصول على الشهادات وملفات التوريد. بعد التوقيع الناجح، يمكن لـ Fastlane بناء التطبيق (gym)، تشغيل الاختبارات (scan) ورفع الملف الثنائي (pilot أو deliver).

ruby
# Fastfile لتطبيق iOS
default_platform(:ios)

lane :build do
  cocoapods
  scan(scheme: 'App', devices: ['iPhone 15'])
  gym(scheme: 'App', export_method: 'app-store')
end

lane :deploy do
  match(type: 'appstore')
  build
  pilot(skip_waiting_for_build_processing: true)
  slack(message: 'تم رفع الإصدار الجديد إلى TestFlight')
end

للعمل مع TestFlight، استخدم action pilot — فهي ترفع IPA وتدير المختبرين. يدعم Fastlane upload_to_testflight (مرادف pilot) ويتعامل تلقائياً مع انتظار معالجة Apple للبناء، والتي قد تستغرق من 5 إلى 30 دقيقة.

إعداد Fastlane لتطبيقات Android

لمشاريع Android، يتم إعداد Fastlane بطريقة مماثلة، ولكن بدلاً من أدوات Xcode يتم استخدام Gradle و Android SDK. يدعم Fastlane لنظام Android بناء APK و AAB، التوقيع عبر apksigner أو jarsigner، تشغيل الاختبارات الأداتية والرفع إلى Google Play Console عبر action Supply.

الفرق الرئيسي هو أن بناء Android لا يتطلب إدارة شهادات عبر match (توقيع Android يتم إدارته عبر Keystore، الذي يخزن بشكل منفصل). يستخدم Fastlane لنظام Android action gradle لتشغيل أي مهام Gradle و action supply للعمل مع Google Play.

ruby
# Fastfile لتطبيق Android
default_platform(:android)

lane :build do
  gradle(task: 'clean assembleRelease')
  gradle(task: 'testReleaseUnitTest')
end

lane :deploy do
  build
  supply(
    track: 'internal',
    aab: 'app/build/outputs/bundle/release/app-release.aab'
  )
end

للعمل مع Google Play Console، يلزم حساب خدمة Google Cloud بوصول إلى واجهة برمجة Google Play. يقبل Fastlane مفتاح JSON لحساب الخدمة عبر متغير البيئة SUPPLY_JSON_KEY أو معلمة json_key في action supply. يمكن أن يكون مسار النشر internal، alpha، beta أو production.

دمج Fastlane مع أنظمة CI/CD

يتكامل Fastlane مع أي أنظمة CI/CD تستطيع تشغيل نصوص Ruby: Jenkins، Travis CI، GitHub Actions، GitLab CI، Bitrise و CircleCI. يتلخص الدمج في تثبيت جم Fastlane وتنفيذ أمر fastlane [lane_name] في مرحلة script في خط التجميع.

لـ CI/CD، من المهم إعداد متغيرات البيئة لتخزين البيانات الحساسة: MATCH_PASSWORD (كلمة مرور تشفير الشهادات)، FASTLANE_USER (Apple ID)، FASTLANE_PASSWORD (كلمة مرور Apple ID). في Travis CI، تتم تشفير المتغيرات عبر travis encrypt، وفي GitHub Actions عبر Secrets في المستودع.

الممارسة الموصى بها هي استخدام fastlane match في CI/CD مع علامة readonly لتجنب التغييرات العرضية في مستودع الشهادات. لنظام Android، استخدم Keystore مشفراً بـ Base64 ومخزناً في متغير بيئة، يتم فك تشفيره وحفظه في ملف مؤقت خلال مرحلة before_install.

Fastlane Match: إدارة الشهادات والملافات

Fastlane Match هي أداة لأتمتة إدارة شهادات iOS وملفات التوريد، واحدة من أقى ميزات Fastlane للفرق. تُنشئ Match مستودع Git مشفر (أو تستخدم موجوداً) يخزن جميع الشهادات والملافات، موفرة المزامنة بين المطورين وخوادم CI/CD.

تدعم Match خمسة أنواع من الملافات: development، adhoc، appstore، enterprise و developer_id. يتم تخزين كل نوع في دليل منفصل داخل المستودع. يقوم الأمر fastlane match development بتثبيت شهادات التطوير على الجهاز المحلي، بينما يقوم fastlane match appstore بتثبيت ملافات App Store لبناء CI.

ruby
# استخدام Match في Fastfile
lane :setup_signing do
  match(
    type: 'appstore',
    readonly: true,
    git_branch: 'main'
  )
end

lane :update_profiles do
  match(
    type: 'development',
    force: true,
    app_identifier: ['com.example.app', 'com.example.app.watchkitapp']
  )
end

يتم ضمان أمان Match عبر تشفير جميع الملفات قبل الإرسال إلى Git. تتم تعيين كلمة مرور التشفير عبر متغير البيئة MATCH_PASSWORD ويجب أن تكون نفسها لجميع أعضاء الفريق. تستخدم Match OpenSSL للتشفير ولا تخزن كلمة المرور نصاً مفتوحاً في المستودع.

الأسئلة الشائعة

ما هو Fastlane في تطوير التطبيقات المحمولة؟

Fastlane هي أداة مفتوحة المصدر لأتمتة تطبيقات iOS و Android. تؤتت البناء والاختبار وتوقيع الكود والتسليم إلى App Store و Google Play عبر ملف تكوين واحد Fastfile ومجموعة من الأدوات المضمنة.

ما هي الأدوات المضمنة في Fastlane؟

الأدوات الرئيسية لـ Fastlane: scan (اختبارات)، gym (بناء iOS)، match (شهادات)، deliver (App Store)، pilot (TestFlight)، snapshot (لقطات شاشة)، supply (Google Play) و frameit (أطر للقطات). كل أداة متاحة كامر action داخل lane أو من سطر الأوامر.

كيف إعداد Fastlane لتطبيق iOS؟

قم بتثبيت gem fastlane، ثم قم بتنفيذ fastlane init في جذر المشروع. أعدد Fastfile بأساسيات lanes للبناء (gym) والاختبارات (scan). أعدد Match لإدارة الشهادات عبر مستودع Git. أضف lane نشر باستخدام pilot أو deliver للرفع إلى App Store Connect.

كيف إعداد Fastlane لتطبيق Android؟

قم بتنفيذ fastlane init مع تحديد اسم الحزمة. استخدم action gradle لتشغيل مهام Gradle (assembleRelease، testReleaseUnitTest). أعدد Keystore عبر متغيرات البيئة. استخدم action supply لرفع AAB أو APK إلى Google Play Console على المسار المطلوب.

كيف دمج Fastlane مع أنظمة CI/CD؟

قم بتثبيت gem fastlane على خادم CI/CD وأضف الأمر fastlane [lane_name] إلى مرحلة script في خط التجميع. أعدد متغيرات البيئة FASTLANE_USER و FASTLANE_PASSWORD و MATCH_PASSWORD في متغيرات CI/CD السرية. استخدم match readonly لـ CI لتجنب التغييرات العرضية في الشهادات.

الملخص

  • Fastlane — أداة مفتوحة المصدر لأتمتة بناء التطبيقات المحمولة بدعم iOS و Android
  • Actions — أوامر أساسية للبناء والاختبار والتوقيع والتسليم (أكثر من 200 مضمنة)
  • Lanes — سيناريوهات في Fastfile تجمع عدة actions في عملية CI/CD تسلسلية
  • Match — نظام إدارة شهادات iOS عبر مستودع Git مشفر
  • iOS يشمل scan للاختبارات و gym للبناء و pilot لـ TestFlight
  • Android يشمل gradle للبناء و supply لـ Google Play
  • Fastlane يتكامل مع Jenkins و Travis CI و GitHub Actions ومنصات CI/CD أخرى

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا