Dokumen ini memperkenalkan praktik terbaik terkait penggunaan Firebase App Distribution dan fastlane yang akan membuat 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 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 belum mengaktifkan App Distribution, Anda akan mengalami error 404.
Untuk mengaktifkan App Distribution, ikuti langkah-langkah berikut:
Buka halaman App Distribution di Firebase console.
Pilih aplikasi iOS Anda.
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, 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 melakukan autentikasi
Gunakan plugin fastlane App Distribution atau Firebase CLI 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 workload App Distribution. Untuk mempelajari lebih lanjut, lihat Melakukan autentikasi dengan akun layanan.
Jika menggunakan gabungan workload identity, Anda dapat menghasilkan dan menggunakan file konfigurasi kredensial, bukan kunci akun layanan.
Mencermati batasan rilis
App Distribution mendukung maksimum 1.000 rilis per aplikasi. Artinya, saat Anda melebihi batas rilis, App Distribution akan otomatis 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.
Mencermati batas penguji
App Distribution membatasi jumlah penguji yang dapat Anda tambahkan ke 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 dan fastlane 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:
fastlane: Menggunakan file Fastfile atau langsung menjalankan tindakan fastlane. Untuk mempelajari lebih lanjut cara menggunakan fastlane untuk menghapus penguji, lihat Mendistribusikan aplikasi iOS ke penguji menggunakan fastlane.
Firebase App Distribution API publik: Gunakan endpoint
testers.batchRemove
.