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

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

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

قبل از اینکه شروع کنی

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

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

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

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

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

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

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

از فست‌لین استفاده کنید

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

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

از رابط Firebase استفاده کنید

از ابزارهای 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» مراجعه کنید.

استفاده از اعتبارنامه‌های سرویس برای احراز هویت

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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