2018: أكبر تغيير في سنوات إصدار iOS وعملية CI / CD. كيفية التحضير لعام 2019

الروابط الأصلية:

في عام 2018 ، اهتزت كل من Mobile DevOps و CI / CD World ببعض الإعلانات والأخبار الكبيرة. هذه الإعلانات إما من Apple أو من المجتمعات مفتوحة المصدر ، ولكنها ستغير الطرق التقليدية للقيام بتنسيق CI / CD لتطبيقات iOS بالتأكيد. في هذا المنشور ، سوف ننظر إلى الوراء في عام 2018 لنتطلع إلى الأمام في عام 2019. سنرى ما تم تغييره في 2018 في DevOps للأجهزة المحمولة والتوصيل المستمر لتطبيقات iOS وكيف سيؤثر ذلك على عملية إصدار iOS و CI / CD في 2019.

1. أبل + BuddyBuild

في يوم رأس السنة 2018 ، حصلت Apple على BuddyBuild وتتغير الأشياء في Mobile DevOps بشكل كبير. BuddyBuild هي واحدة من خدمات CI / CD السحابية الرائعة لتطبيقات الأجهزة المحمولة. منذ أن أصبح BuddyBuild جزءًا من Apple ، فقد توقفوا عن دعم تطبيقات Android. توقف أيضًا عن استقبال العملاء الجدد لتطبيقات iOS. كان هذا الخبر أحد الصدمات الكبيرة للشركات التي تستخدم خدمة BuddyBuild لكل من Android و iOS. تحتاج هذه الشركات إلى البحث عن خدمة CI / CD أخرى لتطبيقات Android والتي تؤدي إلى أعمال الترحيل المكلفة. كان هذا أيضًا درسًا كبيرًا للشركات التي تستخدم خدمات CI / CD المستندة إلى مجموعة النظراء ، مما يجعلها تفكر فيما إذا كانت ستقوم بإدارة البنية التحتية المتنقلة داخل الشركة أو الاستعانة بمصادر خارجية لشركات أخرى. لقد قمنا بتغطية إيجابيات وسلبيات إدارة البنية التحتية DevOps للهاتف المحمول في المنزل هنا. اندماج Apple و BuddyBuild يضع مستقبل Xcode Serve في السؤال. هذا أيضًا جرس إنذار للشركات التي تستخدم خادم Xcode في الوقت الحالي.

نتطلع إلى عام 2019:

  • هل تبحث عن حلول CI / CD مشتركة عبر منصات متحركة لكل من Android و iOS؟ لقد حان الوقت للبحث عن خدمات CI / CD أخرى خاصة بالهاتف مثل Travis CI و Nevercode و Bitrise و Circle CI وما إلى ذلك مهما كانت مناسبة للبنية التحتية لمشروعك. أو إدارة البنية التحتية للهاتف المحمول في المنزل باستخدام Jenkins و TeamCity وما إلى ذلك إذا كان لديك موارد مخصصة لها مهارات.
  • تبحث عن حل دائرة الرقابة الداخلية فقط؟ انتظر حتى WWDC ما تقدمه Apple + BuddyBuild قبل الانتقال إلى أي خدمات أخرى.
  • يمكن لمستخدمي Xcode Server الحاليين الاستمرار في استخدامهم كما هو ، حتى نحصل على أخبار حول مستقبل Xcode Server.

2. App Store Connect API

آخر الأخبار العاجلة في عام 2018 كان إعلان Apple عن AppStore Connect API. في WWDC 2018 ، تم الإعلان عن واجهة برمجة تطبيقات رسمية للتحدث مع كل من بوابة Apple Developer و iTunes Connect. قامت Apple أيضًا بدمج Developer Portal و iTunes Connect وأعدت تسميتها كـ "متجر تطبيقات Connect". هناك جلسات WWDC رائعة حول ما هو الجديد في متجر التطبيقات App Connect و Automate App Store Connect

App Store Connect API هو واجهة برمجة تطبيقات RESTful القياسية القائمة على JWT (JSON Web Tokens) للمصادقة ويمكن الوصول إليها من جميع المنصات. باستخدام App Store Connect API ، يمكننا أتمتة كل ما يتعلق بـ App Store بما في ذلك

  • إدارة الشهادات وتوفير الملفات الشخصية وإدارة معرّف الجهاز ومعرف الحزمة
  • إدارة المستخدمين والأدوار والوصول إلى التطبيقات في متجر التطبيقات
  • إدارة TestFlight و Beta Testers والروابط العامة
  • تنزيل التقارير المالية وتقارير المبيعات

غطت XCBlog واجهة برمجة تطبيقات Connect Store بتفاصيل في المنشور السابق. ستقوم واجهة برمجة تطبيقات App Store Connect بإزالة الكثير من أدوات الطرف الثالث من عملية CI / CD الحالية. لا عجب ، سيكون هناك المئات من الأدوات مفتوحة المصدر تأتي في السوق تستخدم App Store Connect API تحت الغطاء.

نتطلع إلى عام 2019:

ستقوم واجهة برمجة تطبيقات App Store Connect بإزالة الكثير من أدوات الطرف الثالث من عملية CI / CD الحالية. لا عجب ، سيكون هناك المئات من الأدوات مفتوحة المصدر تأتي في السوق تستخدم App Store Connect API تحت الغطاء. كن مستعدًا لاستخدام هذه الأدوات الجديدة اللامعة أو اكتب الأداة المخصصة الخاصة بك لمطابقة متطلبات المشروع باستخدام واجهة برمجة تطبيقات Connect Store.

3. تقاعد Fastlane

تم استخدام Fastlane لأتمتة خطوط أنابيب نشر iOS للعديد من تطبيقات iOS وخدم بشكل جيد حتى الآن. نظرًا لأن Apple قد حسنت بشكل كبير سير عمل الأتمتة في خادم Xcode Server وخدمات CI / CD التابعة لجهة خارجية بمعالجة معظم الأتمتة الأساسية ، فإن استخدام أدوات Fastlane أصبح متكررًا. لم تقدم Apple مطلقًا واجهة برمجة تطبيقات للاتصال بوحدة Apple Developer أو iTunes Connect. لهذا السبب اختار معظم مطوري iOS Fastlane لأتمتة خطوط أنابيب نشر iOS. ومع ذلك ، مع إعلان شركة Apple عن AppStore Connect API ، ستصبح معظم أدوات Fastlane زائدة عن الحاجة وستستبدل عاجلاً أو آجلاً أدوات مطور برامج Apple الأصلية. أصبح مجتمع Fastlane هادئًا أيضًا على Twitter و Github ، كما تم إهمال مشروع Fastlane CI. يشير هذا إلى أن Fastlane يجب أن يتقاعد عاجلاً أم آجلاً. كن مستعدًا للأدوات اللامعة و App Store Connect API.

نتطلع إلى عام 2019:

ستظل وحدات أدوات Fastlane مثل المسح الضوئي وصالة الألعاب الرياضية تعمل بشكل جيد لإنشاء واختبار تطبيق iOS ولكن عاجلاً أم آجلاً ، سيتعين عليك اعتماد التدفق الجديد استنادًا إلى App Store Connect API. تعد نفسك لإيقاف تشغيل أدوات Fastlane التي لم تعد هناك حاجة إليها على سبيل المثال الصعود إلى الطائرة.

عاجلاً أم آجلاً ، يجب عليك الانتقال إلى سير العمل الجديد ، لذا سيكون من الجيد أن تبدأ في الاستعداد لأدوات جديدة وأن تتقاعد Fastlane و Ruby thingy من مشاريع iOS.

4. تحسينات TestFlight + الإصدارات المرحلية

أطلقت Apple دعم TestFlight للارتباطات العامة حيث يمكننا مشاركة الرابط وحمل الناس على اختبار التطبيق التجريبي. يمكن إرسال الروابط العامة إلى ما يصل إلى 10K اختبار ولكن يمكننا تعيين الحد. يمكن تعطيل الروابط أو تمكينها في أي وقت للتحكم في اختبار الأرقام. يمكن أتمتة معظم ميزات TestFlight مثل إنشاء مجموعات وتعيين تصميمات للمجموعة وإدارة الروابط العامة وإدارة المختبرين ومعلومات الاختبار باستخدام واجهة برمجة تطبيقات Connect Store. يمكن أن تعمل الإصدارات المرحلية للتسليم المستمر + تحسينات TestFlight معًا بشكل أفضل مع الإصدارات التي لا تعرف الخوف.

نتطلع إلى عام 2019:

ابدأ في استخدام الروابط العامة لتصميمات TestFlight ولكن كن حذرًا أثناء المشاركة. هناك خطر من تسرب الميزات إلى الجمهور قبل إصدارها. ابدأ في أتمتة عملية إدارة المختبرين ، وقم بالتجميع باستخدام API Store Connect API. استفد من الإصدار المرحلي لاختبار ميزات محددة في الإنتاج دون مخاطرة.

5. متجر التطبيقات Connect- iOS App

أطلقت Apple أيضًا تطبيق iOS "App Store Connect" حتى نتمكن من تنفيذ جميع الأنشطة تقريبًا من أجهزة iOS دون الحاجة إلى الانتقال إلى موقع الويب. في تطبيق iOS ، يمكننا ذلك

  • راجع الاتجاهات والمبيعات والتحديثات وعمليات الشراء داخل التطبيق وحزم التطبيقات
  • جميع تطبيقاتنا والقدرة على التبديل إلى فريق التطوير.
  • معلومات تفصيلية عن التطبيقات ، وإطلاق / رفض التطبيقات ، وإدارة مراجعات المستخدم وإعداد الإشعارات

هناك أشياء كثيرة حول الطلبات المسبقة والمشتريات داخل التطبيق وغيرها من تطبيق iOS.

نتطلع إلى عام 2019:

استفد من تطبيق iOS لإدارة جميع ميزات Connect Store Connect من هاتفك المحمول.

6. نظام بناء Xcode جديد

تم تنشيط نظام Xcode New Build افتراضيًا في Xcode 10. يمكنك قراءة ملاحظة الإصدار الكامل لنظام الإنشاء الجديد هنا. لقد قمنا بتغطية التفاصيل الداخلية لنظام الإنشاء الجديد في منشور المدونة السابق. يمكن تنشيط إعداد الإنشاء الجديد من ملفات Xcode-> إعدادات مشروع / مساحة عمل ويمكننا التبديل بين نظام البناء القديم ونظام البناء الجديد. على خادم CI ، من سطر الأوامر باستخدام xcodebuild ، يتعين علينا تمرير معلمة إضافية -UseModernBuildSystem = YES ستفرض أيضًا نظام الإنشاء الجديد. يمكنك قراءة المزيد حول نظام الإنشاء الجديد Xcode الذي يمكن استخدامه على XCBlog السابق هنا. باستخدام نظام الإنشاء الحديث ، يمكننا تحسين وقت إنشاء Swift بشكل كبير عن طريق اتباع بعض النصائح الأساسية المذكورة هنا.

نتطلع إلى عام 2019:

تم تصميم نظام بناء Xcode الجديد للعثور على المشكلات التي لا يمكن تحديدها بالتدفق المعتاد. قد نحتاج إلى تكييف تطبيقات iOS الخاصة بنا للمساعدة في بناء النظام مع وظيفته بشكل صحيح. قد نحصل على بعض الإخفاقات عند تمكين نظام الإنشاء الجديد ، يجب أن نصلح هذه الأخطاء بسرعة.

7. AI القائم على واختبار مواز

هناك العديد من أدوات اختبار الأجهزة المحمولة التي لا تستند إلى رمز والتي تظهر في السوق والتي تأخذ تطبيق iOS وتنتج سيناريوهات اختبار وتنفذها في السحابة. تقوم هذه الأدوات أيضًا بالإبلاغ عن المشكلات الأساسية في التطبيقات دون أي تكوين. يوجد حاليًا عدد قليل من أدوات اختبار الأجهزة المحمولة التي تعتمد على AI / ML في السوق ، على سبيل المثال ، test.ai لاختبار الأجهزة المحمولة. و Applitoolsuses AI لاختبار الانحدار البصري. أعلن Bitbar عن حل اختبار التطبيقات الذي يحركه AI والمعروف أيضًا باسم AI Testbot لاختبار تطبيقات الأجهزة المحمولة باستخدام الذكاء الاصطناعي. قد تغير هذه الأدوات كيفية أداء أنشطة ضمان الجودة في المستقبل وكيف يمكن استخدام الأدوات المستندة إلى الذكاء الاصطناعي لدعم جهود اختبار iOS.

آبل أيضا تحسين تقنيات الاختبار كل عام. في عام 2018 ، تم الإعلان عن دعم الاختبار الموازي إلى المستوى التالي من خلال توحيد مجموعات الاختبار داخل جهاز محاكاة واحد عن طريق إنشاء نسخ من أجهزة المحاكاة. Xcode يخلق عملية عداء مختلفة تحت غطاء محرك السيارة وكل عملية يحصل على تعيين اختبارات محددة. هذا يقلل من تنفيذ الاختبار بشكل كبير. المزيد عن اختبار Xcode الموازي هنا.

نتطلع إلى عام 2019:

استفد من أدوات الاختبار المستندة إلى الذكاء الاصطناعي لاختبار تطبيقات iOS واعتمد دعم الاختبار الموازي لـ XCTest.

8. طرق سهلة لنشر ملفات IPA

اعتبارًا من الآن ، كان هناك خيار محدود لنشر ملفات IPA في App Store Connect. الخيارات الأكثر شيوعًا هي Xcode أو أداة تحميل التطبيق أو Fastlane أو ITMSTrasporter أو altool. يمكنك قراءة التفاصيل حول هذه الخيارات في التفاصيل هنا. ومع ذلك ، في عام 2018 ، حصلنا على المزيد من الخيارات لنشر ملفات IPA

  • باستخدام ITMSTrasporter من خادم لينكس. التفاصيل هنا
  • استخدام xcodebuild لتحميل ملف IPA مباشرة إلى متجر التطبيقات. التفاصيل هنا

سيسمح ذلك لخوادم CI / CD بتحميل ملفات IPA التي تم إنشاؤها مسبقًا إلى App Store بطريقة أكثر سلاسة أو حتى من خوادم Linux.

نتطلع إلى عام 2019:

نشر تطبيقات iOS من سطر الأوامر باستخدام أداة xcodebuild باستخدام exportOptionsPlist. يمكنك محاولة نقل ملفات IPA إلى خوادم linux واستخدام ITMSTransporter لنشر التطبيقات في App Store.

9. CI للجوال SDK ومكتبات سويفت

مع تزايد شعبية تطبيقات الأجهزة المحمولة ، تحتاج معظم الشركات إلى هندسة لإنشاء تطبيقات الأجهزة المحمولة بشكل أسرع. لذلك ، لضمان الجودة وإعادة استخدام الكود الموجود في تطبيقات متعددة ، بدأت الشركات في إنشاء مجموعات تطوير برمجيات قابلة لإعادة الاستخدام (SDK) ومكتبات بحيث يمكن إعادة استخدام الكود بسهولة في تطبيقات متعددة. نظرًا لأن رمز المكتبة يمكن أن يؤثر على العديد من العملاء ، فمن الضروري التأكد من أن جودة رمز SDK تلبي متطلبات جميع العملاء. في معظم الشركات ، يوجد إعداد CI / CD للبنية التحتية للتطبيقات الرئيسية ولكن ليس للمكتبات و SDKs. في الواقع ، يعد التكامل المستمر للمكتبات و SDK مهمًا جدًا ، بل وأكثر أهمية ، من CI للتطبيقات الرئيسية.

يمكن تحقيق التكامل المستمر لـ Mobile SDK من خلال العديد من خدمات CI المستندة إلى مجموعة النظراء ، وأحد الأمثلة على نشرتي على مدونة Nevercode هنا كيف يمكن القيام بذلك باستخدام Nevercode ولكن يمكن القيام به مع خدمات CI الأخرى التي تستخدمها في الوقت الحالي.

نتطلع إلى عام 2019:

سيزداد بالتأكيد اتجاه إضافة CI لـ iOS SDKs والمكتبات في المستقبل القريب ، لذا احصل على جميع مكتبات SDK والمكتبات المحمولة على خادم CI.

10. جيثب الإجراءات

أطلقت GitHub خدمة GitHub Action التي يمكن استخدامها ل CI / CD لحزم Swift من حاويات الرصيف القائمة على Linux. نشر مدونة مفصلة كيفية إعداد CI / CD مع Github Action لحزم Swift هنا. يمكن اعتبار Github Actions بمثابة حل CI / CD خاص بـ GitHub يحمل في ثناياه عوامل داخل Github نفسه. يمكن للمطورين إنشاء مهام سير عمل باستخدام محرر واجهة المستخدم الرسومية أو من الكود.

حاليًا ، تقتصر هذه الخدمة على التصميمات التي تستند إلى Linux Docker ، لكن من يدري أنه يمكننا الحصول على صور macOS لاستخدام إجراءات GitHub. يمكننا الانتظار ومشاهدة ما يجلبه GitHub Actions لتطوير iOS في المستقبل القريب.

نتطلع إلى عام 2019:

راقب خريطة طريق GitHub Actions الخاصة بـ iOS CI / CD.

خاتمة

في عام 2018 ، حدث الكثير من الأشياء الجيدة لإطلاق تطبيقات iOS بسلاسة. مع وضع كل هذه الأخبار في الاعتبار ، يمكننا التحضير لعام 2019 ومعرفة ما سيحدث بعد ذلك لإصدار iOS وعملية CI / CD. آمل أن أكون قد غطت معظم القصص من عام 2018 ، واسمحوا لي أن أعرف ما هو رأيك وأيضا بينغ لي إذا فاتني أي شيء

====================================

مثل هذا المنصب من XCBlog بواسطة XCTEQ؟ قد يعجبك أيضًا بعض مشاريعنا مفتوحة المصدر على Github أو متابعتنا على Twitter و LinkedIn