روال‌های مطلوب برای توزیع برنامه‌های Apple برای آزمایش‌گران تضمین کیفیت بااستفاده از CI/CD و fastlane

این سند روال‌های مطلوب استفاده از Firebase App Distribution و fastlane را برای پایدار و تکرارپذیر کردن گردش‌های کاری آزمایش پیش‌انتشار پلاتفرم Apple در محیط CI/CD معرفی می‌کند. درحالی‌که این سند بر fastlane تمرکز دارد، راهکارهای دردسترس ازطریق کنسول Firebase، میانای خط فرمان Firebase، و میانای برنامه‌سازی کاربردی عمومی Firebase App Distribution را نیز شرح می‌دهیم تا انعطاف‌پذیری بیشتری داشته باشید. همچنین محدودیت‌های انتشار و آزمایش‌کننده را شرح می‌دهیم تا بتوانید ازقبل برای تجربه بهینه برنامه‌ریزی کنید.

اگر از Android هم استفاده می‌کنید، روال‌های مطلوب برای توزیع برنامه‌های Android به آزمایش‌کنندگان تضمین کیفیت بااستفاده از CI/CD را ببینید.

قبل از شروع

قبل‌از پیاده‌سازی روال‌های مطلوب در این سند، حتماً App Distribution را در کنسول Firebase برای هر برنامه فعال کنید. اگر App Distribution را فعال نکرده باشید، خطای ۴۰۴ دریافت خواهید کرد.

برای فعال کردن App Distribution، این مراحل را دنبال کنید:

  1. صفحه App Distribution را در کنسول Firebase باز کنید.

  2. برنامه iOS خود را انتخاب کنید.

  3. روی شروع به کار کلیک کنید.

خودکارسازی گردش کار آزمایش پیش‌انتشار بااستفاده از CI/CD

اگر می‌خواهید ساخت و انتشار برنامه‌ها برای آزمایش‌کنندگان را خودکار کنید و از CI/CD استفاده می‌کنید، توصیه می‌کنیم از fastlane استفاده کنید. گزینه دیگر استفاده از Firebase CLI است که به شما امکان می‌دهد به طیف گسترده‌ای از محصولات Firebase دسترسی داشته باشید.

استفاده از fastlane

App Distribution را بااستفاده از fastlane در خط لوله CI/CD خود ادغام کنید. fastlane ابزاری متن‌باز است که ساخت و انتشار برنامه‌های iOS و Android را خودکار می‌کند. با ساختن و توزیع خودکار جدیدترین نسخه‌هایتان برای آزمایش‌کنندگان، مطمئن می‌شوید که آزمایش‌کنندگان همیشه به‌روزترین نسخه آزمایشی برنامه‌تان را دارند.

برای آشنایی با نحوه ادغام App Distribution با fastlane، به توزیع برنامه‌های iOS به آزمایش‌کنندگان بااستفاده از fastlane مراجعه کنید. همچنین codelab را ببینید که شما را در فرایند ادغام fastlane راهنمایی می‌کند.

استفاده از Firebase CLI

از ابزارهای Firebase CLI که App Distribution ارائه می‌دهد برای توزیع برنامه‌نویسی‌شده نسخه‌های ساخت به آزمایش‌کنندگان استفاده کنید. می‌توانید آزمایش‌کنندگان و یادداشت‌های انتشار را برای ساخت مشخص کنید.

جدیدترین ساخت iOS test.ipa را با مشخص کردن شناسه برنامه Firebase برنامه توزیع کنید، و به‌طور اختیاری یادداشت انتشار و فایلی حاوی ایمیل‌های آزمایش‌کنندگان اضافه کنید:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

برای کسب اطلاعات بیشتر درباره استفاده از Firebase CLI برای خودکارسازی ساخت‌ها، به توزیع برنامه‌های iOS بین آزمایش‌کنندگان بااستفاده از Firebase CLI مراجعه کنید.

استفاده از اعتبارنامه‌های سرویس برای اصالت‌سنجی

از App Distribution افزایه fastlane یا Firebase CLI با حساب‌های سرویس استفاده کنید که از اعتبارنامه‌های پیش‌فرض برنامه بهره می‌برند و به شما کمک می‌کنند CI خود را مدیریت کنید. حساب خدمات نوعی «حساب Google» است که به‌جای کاربران، برنامه‌ها را نشان می‌دهد. سیستم CI شما می‌تواند از حساب‌های سرویس برای اجرای حجم‌های کاری App Distribution شما استفاده کند. برای کسب اطلاعات بیشتر، به اصالت‌سنجی با حساب سرویس مراجعه کنید.

اگر از فدراسیون هویت حجم کاری استفاده می‌کنید، می‌توانید به‌جای کلید حساب سرویس، فایل پیکربندی اعتبارنامه تولید و استفاده کنید.

محدودیت‌های انتشار را به‌خاطر داشته باشید

App Distribution حداکثر از ۱۰۰۰ نسخه پخش برای هر برنامه پشتیبانی می‌کند. این یعنی وقتی از حد مجاز نسخه پخش فراتر می‌روید، App Distribution به‌طور خودکار قدیمی‌ترین نسخه‌های پخش فراتر از حد مجاز را حذف می‌کند. برای آشنایی با نحوه مدیریت محدودیت‌های انتشار، به نسخه‌های پخش برنامه تا چه مدت دردسترس هستند؟ مراجعه کنید.

افزودن مجموعه آزمایش‌گرهای یکسان به چند نسخه پخش

اگر می‌خواهید تعداد زیادی آزمایش‌کننده به نسخه‌های پخش خود اضافه کنید، از عملکرد مدیریت آزمایش‌کننده انبوه App Distribution استفاده کنید.

توصیه می‌کنیم از گروه‌ها برای افزودن آزمایش‌کنندگان یکسان به چند نسخه پخش استفاده کنید. گروه به‌عنوان فهرست کنترل دسترسی عمل می‌کند؛ وقتی آزمایش‌کننده‌ای را از گروهی برمی‌دارید، دسترسی او به همه نسخه‌های پخش‌شده در آن گروه قطع می‌شود. برای کسب اطلاعات بیشتر، به افزودن و برداشتن آزمایش‌کنندگان از گروه مراجعه کنید.

اگر آزمونگران زیادی برای مدیریت دارید، می‌توانید آزمونگران را به‌صورت انبوه اضافه و حذف کنید بااستفاده از کنسول Firebase. برای خودکارسازی افزودن و برداشتن آزمایش‌کنندگان، از Firebase CLI، fastlane، یا Firebase App Distribution API عمومی استفاده کنید.

محدودیت‌های آزمایش‌گر را به‌خاطر داشته باشید

App Distribution تعداد آزمایش‌گرانی را که می‌توانید به پروژه Firebase یا گروه App Distribution اضافه کنید محدود می‌کند. وقتی از این محدودیت‌ها فراتر بروید، نمی‌توانید برنامه‌تان را برای آزمایش‌کنندگان بیشتری توزیع کنید. برای کسب اطلاعات بیشتر درباره محدودیت‌های آزمایش‌کننده، به آیا برای افزودن آزمایش‌کننده به برنامه‌ام محدودیتی وجود دارد؟ مراجعه کنید.

مدیریت و افزودن خودکار دستگاه‌های آزمایش‌کننده iOS جدید

برای کمک به شما در ثبت دستگاه‌های آزمایش‌کننده iOS بیشتر، App Distribution به شما کمک می‌کند دستگاه‌های آزمایش‌کننده iOS خود را در «درگاه توسعه‌دهندگان Apple» با اطلاع‌رسانی به شما درباره دستگاه‌های iOS آزمایش‌کننده جدید بااستفاده از ایمیل یا فایل‌های CSV مدیریت کنید. برای کسب اطلاعات بیشتر، وارد کردن آزمایش‌کنندگان از فایل‌های CSV را ببینید. همچنین می‌توانید به‌صورت برنامه‌نویسی‌شده دستگاه‌های جدید را بااستفاده از fastlane صادر کنید.

برای آشنایی با نحوه راه‌اندازی کنش fastlane که به‌طور خودکار UDIDها را پایین می‌کشد، آن‌ها را به کنسول توسعه‌دهنده Apple اضافه می‌کند، و سپس برنامه را بازسازی و توزیع می‌کند، به توزیع سریع‌تر ساخت‌های پیش‌انتشار iOS با App Distribution و fastlane مراجعه کنید.

به آزمایش‌کنندگان بالقوه اجازه دهید خودشان برای آزمایش ثبت‌نام کنند

برای اینکه توزیع برنامه‌تان به آزمایش‌کنندگان بیشتر آسان‌تر شود، توصیه می‌کنیم از پیوندهای دعوت استفاده کنید. پیوند دعوت نشانی وب منحصربه‌فردی است که به آزمایش‌کنندگان اجازه می‌دهد نشانی ایمیلشان را برای ثبت‌نام در آزمایش برنامه وارد کنند. فعال کردن کاربران برای افزودن خودشان به فهرست آزمایش‌کنندگان برنامه شما روشی یکپارچه برای افزایش پایگاه آزمایش داخلی شما است.

موارد استفاده از پیوندهای دعوت شامل برنامه‌های آزمایشی داخلی شرکت، سازمان‌هایی با تیم‌های تضمین کیفیت بزرگ، و گروه‌های توسعه‌دهنده‌ای است که می‌خواهند مشتریان منفرد بتوانند دسترسی آزمایش‌کننده را کنترل کنند.

توصیه می‌کنیم پیوند دعوتی برای گروه ایجاد کنید. هر آزمایش‌کننده‌ای که بااستفاده از پیوند دعوت ثبت‌نام کند، به‌طور خودکار به نسخه‌های بعدی اضافه می‌شود.

برای کسب اطلاعات بیشتر، ایجاد پیوندهای دعوت و افزودن و برداشتن آزمایش‌کنندگان از گروه را ببینید.

مطمئن شوید آزمایش‌کنندگان نسخه‌ای را که برایتان مهم است آزمایش می‌کنند

وقتی نسخه جدیدی بارگذاری می‌شود، آزمایش‌کنندگان شما ازطریق ایمیل مطلع می‌شوند. برای تکمیل این اعلان، می‌توانید از ویژگی‌های زیر (پیوندهای انتشار و هشدارهای درون‌برنامه) استفاده کنید تا مطمئن شوید آزمایش‌کنندگان شما نسخه خاصی از برنامه را که برایتان مهم است آزمایش می‌کنند:

  • پیوندهای انتشار: وقتی می‌خواهید نسخه خاصی را با آزمونگران هم‌رسانی کنید، از این ویژگی استفاده کنید. برای آشنایی با نحوه استفاده از پیوندهای انتشار، توزیع برنامه‌های iOS به آزمونگران بااستفاده از کنسول Firebase را ببینید. این پیوندها با ابزارهای خط فرمان (CLI) Firebase و fastlane ما نیز دردسترس هستند تا بتوانید از آن‌ها با ابزارهای خودکارسازی ساخت خود استفاده کنید.

  • هشدارهای درون‌برنامه: از این هشدارها زمانی استفاده کنید که می‌خواهید مطمئن شوید آزمایش‌کنندگان شما درحال آزمایش جدیدترین نسخه برنامه‌تان هستند. با ادغام کردن کیت توسعه نرم‌افزار Firebase App Distribution iOS، می‌توانید هشدارها را مستقیماً داخل برنامه به آزمایش‌کنندگان خود نمایش دهید وقتی‌که ساخت‌های جدید برنامه‌تان دردسترس هستند. برای آشنایی با نحوه افزودن هشدارهای درون‌برنامه، به اطلاع‌رسانی به آزمایش‌کنندگان درباره نسخه‌های ساخت جدید مراجعه کنید.

برداشتن خودکار دسترسی برای آزمونگرانی که شرکت را ترک می‌کنند

وقتی جریان آزمایش داخلی CI/CD شما راه‌اندازی شد و شروع به کار کرد، باید مطمئن شوید افرادی که شرکت را ترک می‌کنند دیگر به نسخه‌های داخلی شما دسترسی نداشته باشند. برای کمک به شما در مدیریت دسترسی آزمایش‌کننده به نسخه‌های ساخت، App Distribution گزینه‌های زیر را ارائه می‌دهد: