توزیع برنامه‌های iOS برای آزمایش‌گران بااستفاده از Firebase CLI

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

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، ‫Firebase را به پروژه Apple خود اضافه کنید.

    اگر از هیچ‌یک از محصولات دیگر Firebase استفاده نمی‌کنید، فقط باید پروژه‌ای ایجاد کنید و برنامه‌تان را ثبت کنید. اما اگر تصمیم گرفتید در آینده از محصولات دیگری استفاده کنید، حتماً همه مراحل صفحه پیوندشده در بالا را تکمیل کنید.

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

مرحله ۱. توزیع برنامه برای آزمایش‌گران

برای توزیع برنامه بین آزمایش‌گران، فایل IPA را بااستفاده از Firebase CLI بارگذاری کنید:

  1. جدیدترین نسخه Firebase CLI را نصب یا به آن به‌روزرسانی کنید (توصیه می‌کنیم باینری مستقل CLI مخصوص سیستم‌عامل خود را بارگیری کنید). مطمئن شوید که وارد سیستم شوید و دسترسی به پروژه‌هایتان را آزمایش کنید. نیز اصالت‌سنجی کنید.
  2. فرمان 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.com
    
    firebase 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-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

پس‌از توزیع ساخت، این ساخت در داشبورد App Distribution کنسول Firebase به‌مدت ۱۵۰ روز (پنج ماه) دردسترس قرار می‌گیرد. وقتی ساخت ۳۰ روز تا انقضا داشته باشد، اعلان انقضا هم در کنسول و هم در فهرست ساخت‌های آزمایشگر در دستگاه آزمایشی‌اش نشان داده می‌شود.

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

آزمونگران ۳۰ روز فرصت دارند تا دعوت آزمایش برنامه را قبل‌از منقضی شدن آن بپذیرند. وقتی ۵ روز به انقضای دعوت باقی مانده باشد، اعلان انقضا در Firebase کنسول در کنار آزمایشگر در نسخه پخش ظاهر می‌شود. دعوت را می‌توان با ارسال مجدد آن ازطریق منو کرکره‌ای در ردیف آزمایشگر تمدید کرد.

مراحل بعدی