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

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

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

قبل از شروع

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

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

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

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

  3. روی Get Started کلیک کنید.

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

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

از fastlane استفاده کنید

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

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

از Firebase CLI استفاده کنید

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

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

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 حداکثر از 1000 نسخه در هر برنامه را پشتیبانی می کند. این بدان معناست که وقتی از محدودیت انتشار فراتر می‌روید، App Distribution به‌طور خودکار قدیمی‌ترین نسخه‌های بالاتر از حد را حذف می‌کند. برای آشنایی با نحوه مدیریت محدودیت‌های انتشار، به مدت زمان انتشار برنامه‌ها مراجعه کنید؟

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

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

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

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

محدودیت های تستر را در نظر داشته باشید

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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