Praktik terbaik untuk mendistribusikan aplikasi Apple kepada penguji QA menggunakan CI/CD dan fastlane

Dokumen ini memperkenalkan praktik terbaik untuk menggunakan Firebase App Distribution dan fastlane agar alur kerja pengujian pra-rilis platform Apple Anda berkelanjutan dan dapat diulang di lingkungan CI/CD. Meskipun dokumen ini berfokus pada fastlane, kami juga menjelaskan solusi yang tersedia melalui Firebase console, Firebase CLI, dan Firebase App Distribution API publik untuk meningkatkan fleksibilitas Anda. Kami juga menjelaskan batasan rilis dan penguji agar Anda dapat membuat perencanaan lebih awal untuk memberikan pengalaman yang optimal.

Jika Anda juga menggunakan Android, lihat Praktik terbaik untuk mendistribusikan aplikasi Android ke penguji QA menggunakan CI/CD.

Sebelum memulai

Sebelum Anda menerapkan praktik terbaik dalam dokumen ini, pastikan untuk mengaktifkan App Distribution di Firebase console untuk setiap aplikasi. Jika App Distribution belum diaktifkan, error 404 akan terjadi.

Untuk mengaktifkan App Distribution, ikuti langkah-langkah berikut:

  1. Buka halaman App Distribution di Firebase console.

  2. Pilih aplikasi iOS Anda.

  3. Klik Mulai.

Mengotomatiskan alur kerja pengujian pra-rilis menggunakan CI/CD

Jika Anda ingin mem-build dan merilis aplikasi ke penguji secara otomatis, sementara Anda menggunakan CI/CD, sebaiknya gunakan fastlane. Opsi lainnya adalah menggunakan Firebase CLI, yang memungkinkan Anda mengakses beragam produk Firebase.

Menggunakan fastlane

Integrasikan App Distribution ke pipeline CI/CD menggunakan fastlane, sebuah alat open source yang memungkinkan Anda mem-build dan merilis aplikasi iOS dan Android secara otomatis. Dengan mem-build dan mendistribusikan rilis terbaru ke penguji secara otomatis, Anda dapat memastikan bahwa penguji selalu memiliki versi uji terbaru aplikasi Anda.

Untuk mempelajari cara mengintegrasikan App Distribution dengan fastlane, lihat Mendistribusikan aplikasi iOS ke penguji menggunakan fastlane. Lihat juga codelab yang akan memandu Anda menyelesaikan proses integrasi fastlane.

Menggunakan Firebase CLI

Gunakan alat Firebase CLI yang disediakan App Distribution untuk mendistribusikan build kepada penguji secara terprogram. Anda dapat menentukan penguji dan catatan rilis untuk build.

Distribusikan build iOS terbaru Anda test.ipa dengan menentukan ID Aplikasi Firebase aplikasi, dan Anda juga bisa menambahkan catatan rilis dan file yang berisi email penguji:

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

Untuk mempelajari lebih lanjut cara menggunakan Firebase CLI untuk mengotomatiskan build Anda, lihat Mendistribusikan aplikasi iOS ke penguji menggunakan Firebase CLI.

Menggunakan kredensial layanan untuk mengautentikasi

Gunakan plugin fastlane App Distribution atau Firebase CLI bersama dengan akun layanan, yang memanfaatkan Kredensial Default Aplikasi dan membantu Anda mengelola CI. Akun layanan adalah jenis Akun Google yang mewakili aplikasi, bukan pengguna. Sistem CI Anda dapat menggunakan akun layanan untuk menjalankan beban kerja App Distribution. Untuk mempelajari lebih lanjut, lihat Mengautentikasi dengan akun layanan.

Jika menggunakan gabungan workload identity, Anda dapat menghasilkan dan menggunakan file konfigurasi kredensial, bukan kunci akun layanan.

Perhatikan batas rilis

App Distribution mendukung maksimum 1.000 rilis per aplikasi. Artinya, saat Anda melebihi batas rilis, App Distribution secara otomatis akan menghapus rilis terlama yang melebihi batas. Untuk mempelajari cara mengelola batas rilis, lihat Berapa lama rilis aplikasi tersedia?

Menambahkan kumpulan penguji yang sama ke beberapa rilis

Jika Anda ingin menambahkan sejumlah besar penguji ke rilis Anda, gunakan fungsi pengelolaan penguji massal App Distribution.

Sebaiknya gunakan grup untuk menambahkan penguji yang sama ke beberapa rilis. Grup bertindak sebagai daftar kontrol akses; saat Anda menghapus penguji dari grup, mereka akan kehilangan akses ke semua rilis yang didistribusikan ke grup tersebut. Untuk mempelajari lebih lanjut, lihat Menambahkan dan menghapus penguji dari grup.

Jika memiliki banyak penguji yang akan dikelola, Anda dapat menambahkan dan menghapus penguji secara massal menggunakan Firebase console. Untuk mengotomatiskan penambahan dan penghapusan penguji, gunakan Firebase CLI, fastlane, atau Firebase App Distribution API publik.

Perhatikan batas penguji

App Distribution membatasi jumlah penguji yang dapat Anda tambahkan ke sebuah project Firebase atau grup App Distribution. Jika batas ini terlampaui, Anda tidak akan dapat mendistribusikan aplikasi ke penguji tambahan. Untuk mempelajari lebih lanjut batas penguji, baca Apakah ada batas untuk menambahkan penguji ke aplikasi saya?

Mengelola dan secara otomatis menambahkan perangkat penguji iOS baru

Untuk memudahkan Anda mendaftarkan perangkat penguji iOS tambahan, App Distribution membantu Anda mengelola perangkat penguji iOS di Portal Apple Developer dengan memberitahukan perangkat iOS penguji baru kepada Anda melalui email atau file CSV. Untuk mempelajari lebih lanjut, lihat Mengimpor penguji dari file CSV. Anda juga dapat mengekspor perangkat baru secara terprogram menggunakan fastlane.

Untuk mempelajari cara menyiapkan tindakan fastlane yang akan otomatis mengambil UDID, menambahkannya ke konsol Apple Developer, lalu mem-build ulang aplikasi dan mendistribusikannya, lihat Mendistribusikan build iOS pra-rilis lebih cepat dengan App Distribution dan fastlane.

Memungkinkan calon penguji untuk mendaftar secara mandiri untuk pengujian

Untuk memudahkan Anda dalam mendistribusikan aplikasi ke lebih banyak penguji, sebaiknya gunakan link undangan. Link undangan adalah URL unik yang memungkinkan penguji memasukkan alamat email mereka untuk mendaftarkan diri sebagai penguji aplikasi. Dengan memungkinkan pengguna menambahkan dirinya ke daftar penguji aplikasi, Anda akan dapat meningkatkan basis pengujian internal dengan mudah.

Kasus penggunaan link undangan mencakup program dogfood perusahaan, organisasi dengan tim QA besar, dan grup developer yang ingin setiap kliennya dapat mengontrol akses penguji.

Sebaiknya Anda membuat link undangan untuk grup. Setiap penguji yang mendaftar menggunakan link undangan akan otomatis ditambahkan ke rilis berikutnya.

Untuk mempelajari lebih lanjut, lihat Membuat link undangan serta Menambahkan dan menghapus penguji dari grup.

Pastikan penguji menguji versi yang Anda inginkan

Saat versi baru diupload, penguji akan diberi tahu melalui email. Untuk melengkapi notifikasi ini, Anda dapat menggunakan fitur berikut – link rilis dan pemberitahuan dalam aplikasi – untuk memastikan bahwa penguji menguji versi aplikasi tertentu yang menurut Anda penting:

  • Link rilis: Gunakan fitur ini jika Anda ingin membagikan versi tertentu kepada penguji. Untuk mempelajari cara menggunakan link rilis, lihat Mendistribusikan aplikasi iOS ke penguji menggunakan Firebase console. Link ini juga tersedia di alat command line (CLI) Firebase danfastlane yang dapat digunakan dengan alat otomatisasi build.

  • Pemberitahuan dalam aplikasi: Gunakan pemberitahuan ini jika Anda ingin memastikan bahwa penguji menguji versi terbaru aplikasi Anda. Dengan mengintegrasikan Firebase App Distribution iOS SDK, Anda dapat menampilkan pemberitahuan langsung di dalam aplikasi kepada penguji ketika build baru aplikasi tersedia. Untuk mempelajari cara menambahkan pemberitahuan dalam aplikasi, lihat Memberi tahu penguji tentang build baru.

Menghapus akses secara otomatis untuk penguji yang keluar dari perusahaan

Setelah alur pengujian internal CI/CD aktif dan berjalan, Anda harus memastikan bahwa penguji yang keluar dari perusahaan tidak akan lagi memiliki akses ke build internal Anda. Untuk membantu Anda mengelola akses penguji ke build, App Distribution menyediakan opsi berikut: