میتوانید ساختارها را بااستفاده از Firebase CLI بین آزمایشگران توزیع کنید. ابزار CLI به شما امکان میدهد آزمونگران و یادداشتهای انتشار را برای ساختمانی مشخص کنید و ساختمان را براساس آن توزیع کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Apple خود اضافه کنید.
اگر از هیچیک از محصولات دیگر Firebase استفاده نمیکنید، فقط باید پروژهای ایجاد کنید و برنامهتان را ثبت کنید. اما اگر تصمیم گرفتید در آینده از محصولات دیگری استفاده کنید، حتماً همه مراحل صفحه پیوندشده در بالا را تکمیل کنید.
صفحه App Distribution کنسول Firebase را باز کنید. وقتی درخواست شد، پروژه Firebase خود را انتخاب کنید، برنامه خود را بااستفاده از «تعویضکننده برنامه» انتخاب کنید، و روی شروع به کار کلیک کنید.
مرحله ۱. توزیع برنامه برای آزمایشگران
برای توزیع برنامه بین آزمایشگران، فایل IPA را بااستفاده از Firebase CLI بارگذاری کنید:
- جدیدترین نسخه Firebase CLI را نصب یا به آن بهروزرسانی کنید (توصیه میکنیم باینری مستقل CLI مخصوص سیستمعامل خود را بارگیری کنید). مطمئن شوید که وارد سیستم شوید و دسترسی به پروژههایتان را آزمایش کنید. نیز اصالتسنجی کنید.
-
فرمان
appdistribution:distributeرا برای بارگذاری برنامه و توزیع آن بین آزمایشگران اجرا کنید. از پارامترهای زیر برای پیکربندی توزیع استفاده کنید:appdistribution:گزینههای توزیع --appالزامی: «شناسه برنامه Firebase» برنامه شما. میتوانید «شناسه برنامه» را در Firebase کنسول، در صفحه «تنظیمات کلی» پیدا کنید.
--app 1:1234567890:ios:0a1b2c3d4e5f67890
--tokenیک کد نوسازی که هنگام اصالتسنجی محیط CI با Firebase CLI چاپ میشود (برای اطلاعات بیشتر، استفاده از CLI با سیستمهای CI را بخوانید).
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileیادداشتهای انتشار برای این ساخت.
میتوانید یادداشتهای انتشار را مستقیماً مشخص کنید:
--release-notes "Text of release notes"
یا مسیر فایل نوشتار ساده را مشخص کنید:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-fileنشانیهای ایمیل آزمایشگرانی که میخواهید دعوت کنید.
میتوانید آزمایشگران را بهصورت فهرست جداشده با کاما از نشانیهای ایمیل مشخص کنید:
--testers "ali@example.com, bri@example.com, cal@example.com"
یا میتوانید مسیر فایل نوشتار سادهای را که حاوی فهرست نشانیهای ایمیل جداشده با کاما است مشخص کنید:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileگروههای آزمایشگری که میخواهید دعوت کنید (به مدیریت آزمایشگران مراجعه کنید). گروهها بااستفاده از
نامهای مستعار گروه مشخص میشوند که میتوانید آنها را در کنسول Firebase جستجو کنید.میتوانید گروهها را بهصورت فهرست جداشده با کاما مشخص کنید:
--groups "qa-team, trusted-testers"
یا میتوانید مسیر فایل نوشتاری سادهای را که حاوی فهرست نامهای گروه جداشده با کاما است مشخص کنید:
--groups-file "/path/to/groups.txt"
--debugپرچمی که میتوانید برای چاپ برونداد گزارش مفصل اضافه کنید.
--test-devices
--test-devices-fileدستگاههای آزمایشی که میخواهید عامل «آزمایش برنامه» روی آنها آزمایش کند.
میتوانید دستگاههای آزمایش را بهعنوان فهرست مشخصات دستگاه جداشده با نقطهویرگول مشخص کنید: دستگاه مشخصات:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait"
یا میتوانید مسیر فایل نوشتاری سادهای را که حاوی فهرست دستگاههای آزمایشی جداشده با نقطهویرگول است مشخص کنید:
--test-devices-file: "/path/to/test-devices.txt"
--test-usernameنام کاربری برای ورود خودکار به سیستم که درطول آزمایشهای عامل «آزمایش برنامه» استفاده میشود.
--test-password
--test-password-fileگذرواژه ورود خودکار به سیستم که درطول آزمایشهای عامل «آزمایش برنامه» استفاده میشود.
یا میتوانید مسیر فایل متن ساده حاوی گذرواژه را مشخص کنید:
--test-password-file: "/path/to/test-password.txt"
--test-username-resourceنام منبع فیلد نام کاربری برای ورود خودکار به سیستم که درطول آزمایشهای عامل «آزمایش برنامه» استفاده میشود.
--test-password-resourceنام منبع فیلد گذرواژه برای ورود خودکار به سیستم که درطول آزمایشهای عامل «آزمایش برنامه» استفاده میشود.
--test-non-blockingاگر هنگام اجرای آزمایشهای عامل «آزمایش برنامه» تنظیم شود، فرمان آزمایشها را شروع میکند و سپس بلافاصله برمیگردد، بهجای اینکه منتظر بماند تا آزمایشها تکمیل شوند. برای دیدن نتایج آزمایش، به کنسول Firebase بروید. اگر این پرچم تنظیم نشده باشد، فرمان تا زمانی که آزمایشها کامل شوند مسدود خواهد شد، و اگر هریک از آزمایشها ناموفق باشد، با کد ناموفق از آن خارج خواهد شد.
--results-bucketباکت سفارشی Google Cloud Storage (GCS) که نتایج آزمایش در آن ذخیره میشود. اگر خالی بگذارید، از دستهبندی پیشفرض استفاده میشود. این فضای ذخیرهسازی باید متعلق به پروژهای باشد که صورتحساب برای آن فعال است و مشخص کردن فضای ذخیرهسازی منجر به کسر هزینه صورتحساب برای فضای ذخیرهسازی استفادهشده میشود.
برای مثال:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt«واسط خط فرمان Firebase» پیوندهای زیر را پساز بارگذاری نسخه پخش خروجی میدهد. این پیوندها به شما کمک میکنند فایلهای باینری را مدیریت کنید و مطمئن شوید که آزمایشکنندگان و سایر توسعهدهندگان نسخه پخش صحیح را دارند:
firebase_console_uri- پیوندی به کنسول Firebase که یک نسخه پخش را نمایش میدهد. میتوانید این پیوند را با توسعهدهندگان دیگر در سازمانتان همرسانی کنید.testing_uri- پیوندی به نسخه پخش در تجربه آزمایشگر (کلیپ وب iOS) که به آزمایشگران امکان میدهد یادداشتهای نسخه پخش را مشاهده کنند و برنامه را در دستگاهشان نصب کنند. آزمونگر برای استفاده از پیوند باید به نسخه پخش دسترسی داشته باشد.binary_download_uri- پیوند امضاشدهای که مستقیماً باینری برنامه را بارگیری و نصب میکند (فایل IPA) . پیوند پساز یک ساعت منقضی میشود.
مدیریت آزمایشگران و گروهها
علاوهبر توزیع نسخههای پخش، میتوانید از
appdistribution:testers:addوappdistribution:testers:removeبرای دعوت از آزمونگران جدید یا برداشتن آزمونگران موجود از پروژه Firebase خود استفاده کنید.پساز اینکه آزمونگری به پروژه Firebase شما اضافه شد، میتوانید او را به نسخههای پخش جداگانه اضافه کنید. وقتی آزمایشگری را بردارید، او دیگر به انتشارهای پروژه شما دسترسی نخواهد داشت. توجه داشته باشید که آزمایشگرانی که بهتازگی برداشته شدهاند همچنان میتوانند برای مدت محدودی به نسخههای پخش شما دسترسی داشته باشند.
برای مثال:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comایمیلهای آزمایشگر باید با فاصله از هم جدا شوند. همچنین میتوانید آزمایشکنندگان را بااستفاده از
--file /path/to/testers.txtمشخص کنید.اگر تعداد زیادی آزمایشگر دارید، باید از گروهها استفاده کنید: میتوانید از
appdistribution:group:createوappdistribution:group:deleteبرای ایجاد یا حذف گروهها در پروژه Firebase استفاده کنید.از
--group-aliasبرای مشخص کردن گروهی برایappdistribution:testers:addوappdistribution:testers:removeاستفاده کنید.برای مثال:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
پساز توزیع ساخت، این ساخت در داشبورد App Distribution کنسول Firebase بهمدت ۱۵۰ روز (پنج ماه) دردسترس قرار میگیرد. وقتی ساخت ۳۰ روز تا انقضا داشته باشد، اعلان انقضا هم در کنسول و هم در فهرست ساختهای آزمایشگر در دستگاه آزمایشیاش نشان داده میشود.
آزمونگرانی که برای آزمایش برنامه دعوت نشدهاند، دعوتنامههای ایمیلی برای شروع دریافت میکنند و آزمونگران فعلی اعلانهای ایمیلی دریافت میکنند که ساخت جدیدی برای آزمایش آماده است. برای آشنایی با نحوه نصب برنامه آزمایشی، به راهاندازی بهعنوان آزمایشگر مراجعه کنید. میتوانید وضعیت هر آزمایشگر را در کنسول Firebase نظارت کنید، اینکه دعوت را پذیرفته است یا نه و برنامه را بارگیری کرده است یا نه.
آزمونگران ۳۰ روز فرصت دارند تا دعوت آزمایش برنامه را قبلاز منقضی شدن آن بپذیرند. وقتی ۵ روز به انقضای دعوت باقی مانده باشد، اعلان انقضا در Firebase کنسول در کنار آزمایشگر در نسخه پخش ظاهر میشود. دعوت را میتوان با ارسال مجدد آن ازطریق منو کرکرهای در ردیف آزمایشگر تمدید کرد.
مراحل بعدی
برای ثبت دستگاههای بیشتر بهصورت دستی یا برنامهریزیشده، به ثبت دستگاههای iOS اضافی مراجعه کنید.
با روالهای مطلوب برای توزیع برنامههای Apple برای آزمایشگران کنترل کیفیت بااستفاده از CI/CD و fastlane آشنا شوید.