Praktik terbaik untuk mendistribusikan aplikasi Android kepada penguji QA menggunakan CI/CD

Dokumen ini berisi praktik terbaik untuk menggunakan Firebase App Distribution untuk membuat alur kerja pengujian pra-rilis Android Anda berkelanjutan dan dapat diulang di lingkungan CI/CD. Solusinya mencakup Gradle dan fastlane, tetapi untuk memberi Anda fleksibilitas yang lebih baik, kami juga menyertakan solusi yang tersedia melalui Firebase console, Firebase CLI, dan Firebase App Distribution API publik. Kami juga menjelaskan batasan rilis dan penguji agar Anda dapat membuat perencanaan lebih awal untuk memberikan pengalaman yang optimal.

Jika Anda juga menggunakan platform Apple, lihat Praktik terbaik untuk mendistribusikan aplikasi Apple kepada penguji QA menggunakan CI/CD dan fastlane.

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:

  1. Buka halaman App Distribution di Firebase console.
  2. Pilih aplikasi Android Anda.
  3. Klik Mulai.

Mengingat Android App Bundle (AAB) menjadi format paket Android yang paling umum, sebaiknya siapkan kemampuan untuk mendistribusikan AAB ke penguji dengan menautkan ke Google Play.

Mengotomatiskan alur kerja pengujian pra-rilis menggunakan pipeline CI/CD

Jika ingin mem-build dan merilis aplikasi ke penguji secara otomatis, sementara Anda menggunakan CI/CD, sebaiknya gunakan fastlane atau Gradle. 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.

Menggunakan Gradle

Gunakan Gradle untuk mengintegrasikan App Distribution ke dalam proses build Android Anda menggunakan plugin Gradle App Distribution. Dengan plugin ini, Anda dapat menentukan penguji dan catatan rilis di file build.gradle aplikasi, sehingga Anda dapat mengonfigurasi distribusi untuk berbagai jenis build dan varian aplikasi.

Untuk mempelajari cara mengintegrasikan App Distribution dengan Gradle, lihat Mendistribusikan aplikasi Android kepada penguji menggunakan Gradle.

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 Android terbaru Anda dengan menentukan ID Aplikasi Firebase, dan Anda juga bisa menambahkan catatan rilis dan file yang berisi email penguji:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android: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 Android kepada penguji menggunakan Firebase CLI.

Menggunakan kredensial layanan untuk mengautentikasi

Gunakan plugin fastlane App Distribution, plugin Gradle, atau Firebase CLI dengan akun layanan. 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, Gradle, 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?

Memungkinkan calon penguji 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 Android kepada penguji menggunakan Firebase console. Link ini juga tersedia di alat command line (CLI) Firebase, fastlane, dan Gradle kami yang dapat digunakan dengan alat otomatisasi build Anda.
  • Pemberitahuan dalam aplikasi: Gunakan pemberitahuan ini jika Anda ingin memastikan bahwa penguji menguji versi terbaru aplikasi Anda. Dengan mengintegrasikan Firebase App Distribution Android 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: