Dokumen ini menjelaskan cara mendistribusikan build APK ke penguji menggunakan fastlane , sebuah platform open source yang membuat dan merilis aplikasi iOS dan Android secara otomatis. Dokumen ini mengikuti instruksi yang ditentukan dalam Fastfile
. Setelah menyiapkan fastlane dan Fastfile
Anda, Anda dapat mengintegrasikan App Distribution dengan konfigurasi fastlane Anda.
Sebelum kamu memulai
Jika Anda belum melakukannya, tambahkan Firebase ke proyek Android Anda .
Jika Anda tidak menggunakan produk Firebase lainnya, Anda hanya perlu membuat proyek dan mendaftarkan aplikasi Anda. Namun, jika Anda memutuskan untuk menggunakan produk tambahan di masa mendatang, pastikan untuk menyelesaikan semua langkah di halaman yang ditautkan di atas.
Langkah 1. Siapkan jalur cepat
Untuk menambahkan App Distribution ke konfigurasi fastlane Anda, jalankan perintah berikut dari root project Android Anda:
fastlane add_plugin firebase_app_distribution
Jika perintah meminta Anda dengan sebuah opsi, pilih
Option 3: RubyGems.org
.
Langkah 2. Autentikasi dengan Firebase
Sebelum Anda dapat menggunakan plugin fastlane, Anda harus mengautentikasi terlebih dahulu dengan proyek Firebase melalui salah satu cara berikut. Secara default, plugin fastlane mencari kredensial dari Firebase CLI jika tidak ada metode autentikasi lain yang digunakan.
Mengautentikasi dengan akun layanan memungkinkan Anda menggunakan plugin secara fleksibel dengan sistem continuous integration (CI) Anda. Ada dua cara untuk memberikan kredensial akun layanan:
- Berikan file kunci akun layanan Anda ke tindakan
firebase_app_distribution
. Anda mungkin menemukan metode ini nyaman jika Anda sudah memiliki file kunci akun layanan di lingkungan build Anda. - Setel variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
agar mengarah ke file kunci akun layanan Anda. Anda mungkin lebih memilih metode ini jika sudah memiliki Application Default Credentials (ADC) yang dikonfigurasi untuk layanan Google lain (mis., Google Cloud).
- Di Google Cloud Console, pilih project Anda dan buat akun layanan baru.
- Tambahkan peran Admin Distribusi Aplikasi Firebase .
- Buat kunci json pribadi dan pindahkan kunci ke lokasi yang dapat diakses oleh lingkungan build Anda. Pastikan untuk menyimpan file ini di tempat yang aman , karena memberikan akses administrator ke App Distribution di proyek Firebase Anda.
- Lewati langkah ini jika Anda membuat aplikasi setelah 20 September 2019: Di konsol Google API, aktifkan Firebase App Distribution API. Saat diminta, pilih proyek dengan nama yang sama dengan proyek Firebase Anda.
Berikan atau temukan kredensial akun layanan Anda:
- Untuk meneruskan kunci akun layanan Anda ke tindakan
firebase_app_distribution
jalur Anda, setel parameterservice_credentials_file
dengan jalur ke file JSON kunci pribadi Anda Untuk menemukan kredensial Anda dengan ADC, setel variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ke jalur untuk file JSON kunci pribadi. Misalnya:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Untuk informasi selengkapnya tentang mengautentikasi dengan ADC, baca Menyediakan kredensial untuk aplikasi Anda.
- Untuk meneruskan kunci akun layanan Anda ke tindakan
Lihat Masuk dengan Firebase CLI untuk petunjuk tentang cara mengautentikasi proyek Anda.
Langkah 3. Siapkan Fastfile Anda dan distribusikan aplikasi Anda
- Di jalur
./fastlane/Fastfile
, tambahkan blokfirebase_app_distribution
. Gunakan parameter berikut untuk mengonfigurasi distribusi:parameter firebase_app_distribution app
Wajib : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings .
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
Token penyegaran yang dicetak saat Anda menjalankan tindakan login plugin (lihat Mengautentikasi menggunakan akun Google , di atas), atau saat Anda mengautentikasi lingkungan CI dengan Firebase CLI (baca Menggunakan sistem CLI dengan CI untuk informasi lebih lanjut).
service_credentials_file
Jalur ke file json akun layanan Google Anda. Lihat di atas untuk mengetahui cara mengautentikasi menggunakan kredensial akun layanan .
android_artifact_type
Menentukan jenis file Android (APK atau AAB).
android_artifact_path
Menggantikan
apk_path
(usang). Jalur absolut ke file APK atau AAB yang ingin Anda unggah. Jika tidak ditentukan, jalur cepat menentukan lokasi file dari jalur tempat file dibuat.release_notes
release_notes_file
Catatan rilis untuk bangunan ini.
Anda dapat menentukan catatan rilis secara langsung:
release_notes: "Text of release notes"
Atau, tentukan jalur ke file teks biasa:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Alamat email penguji yang ingin Anda undang.
Anda dapat menentukan penguji sebagai daftar alamat email yang dipisahkan koma:
testers: "ali@example.com, bri@example.com, cal@example.com"
Atau, Anda dapat menentukan jalur ke file teks biasa yang berisi daftar alamat email yang dipisahkan koma:
testers_file: "/path/to/testers.txt"
groups
groups_file
Grup penguji yang ingin Anda undang (lihat Kelola penguji ). Grup ditentukan menggunakan
alias kelompok , yang dapat Anda cari di konsol Firebase.Anda dapat menentukan grup sebagai daftar yang dipisahkan koma:
groups: "qa-team, trusted-testers"
Atau, Anda dapat menentukan jalur ke file teks biasa yang berisi daftar nama grup yang dipisahkan koma:
groups_file: "/path/to/groups.txt"
debug
Bendera boolean. Anda dapat menyetelnya ke
true
untuk mencetak keluaran debug verbose.
platform :android do desc "My awesome app" lane :distribute do build_android_app(...) # build_android_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Agar build tersedia untuk penguji, jalankan jalur Anda:
fastlane <lane>
Plugin fastlane mengeluarkan tautan berikut setelah unggahan rilis. Tautan ini membantu Anda mengelola binari dan memastikan bahwa penguji dan pengembang lain memiliki rilis yang tepat:
-
firebase_console_uri
- Tautan ke konsol Firebase yang menampilkan rilis tunggal. Anda dapat membagikan tautan ini dengan pengembang lain di organisasi Anda. -
testing_uri
- Tautan ke rilis dalam pengalaman penguji (aplikasi asli Android) yang memungkinkan penguji melihat catatan rilis dan menginstal aplikasi ke perangkat mereka. Penguji memerlukan akses ke rilis untuk menggunakan tautan. -
binary_download_uri
- Tautan bertanda tangan yang langsung mengunduh dan menginstal biner aplikasi (file APK atau AAB). Tautan kedaluwarsa setelah satu jam.
Setelah Anda mendistribusikan build, build tersebut akan tersedia di dasbor App Distribution dari Firebase console selama 150 hari. Saat build 30 hari dari kedaluwarsa, pemberitahuan kedaluwarsa akan muncul di konsol dan di daftar build penguji di perangkat pengujian mereka.
Penguji yang sebelumnya tidak diundang untuk menguji aplikasi menerima undangan email untuk memulai. Penguji lama menerima notifikasi email bahwa build baru siap untuk diuji. Untuk mempelajari cara menginstal aplikasi pengujian, lihat panduan penyiapan penguji . Anda dapat memantau status setiap penguji untuk menentukan apakah mereka menerima undangan dan mengunduh aplikasi di konsol Firebase.
(Opsional) Untuk menaikkan nomor build secara otomatis setiap kali Anda membuat rilis baru di App Distribution, Anda dapat menggunakan tindakan firebase_app_distribution_get_latest_release
dan, misalnya, plugin jalur cepat increment_version_code
. Kode berikut memberikan contoh cara menaikkan nomor build Anda secara otomatis:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
Untuk mempelajari lebih lanjut tentang tindakan firebase_app_distribution_get_latest_release
, lihat Mendapatkan informasi tentang rilis terbaru aplikasi Anda .
Langkah 4 (Opsional). Mengelola penguji untuk distribusi
Anda dapat menambah dan menghapus penguji dari rilis aplikasi Anda menggunakan file Fastfile
Anda atau dengan langsung menjalankan tindakan fastlane. Menjalankan tindakan secara langsung menimpa nilai yang ditetapkan di Fastfile
Anda.
Setelah penguji ditambahkan ke project Firebase, Anda dapat menambahkannya ke setiap rilis. Penguji yang dihapus dari project Firebase Anda tidak lagi memiliki akses ke rilis di project Anda, tetapi mereka mungkin mempertahankan akses ke rilis Anda untuk jangka waktu tertentu.
Gunakan Fastfile
# Use lanes to add or remove testers from an app release. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Jalankan aksi jalur cepat
fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"
Anda juga dapat menentukan penguji menggunakan --file="/path/to/testers.txt
sebagai ganti --emails
.
Tugas firebase_app_distribution_add_testers
dan firebase_app_distribution_remove_testers
juga menerima argumen berikut:
-
project_name
: nomor proyek Firebase Anda. -
service_credentials_file
: Jalur ke file kredensial layanan Google Anda. -
firebase_cli_token
: Token autentikasi untuk Firebase CLI.
service_credentials_file
dan firebase_cli_token
adalah argumen yang sama yang digunakan oleh tindakan pengunggahan.
Langkah 5 (Opsional). Dapatkan informasi tentang rilis terbaru aplikasi Anda
Anda dapat menggunakan tindakan firebase_app_distribution_get_latest_release
untuk mengambil informasi tentang rilis terbaru aplikasi Anda di App Distribution, termasuk informasi versi aplikasi, catatan rilis, dan waktu pembuatan. Kasus penggunaan termasuk meningkatkan versi secara otomatis dan membawa catatan rilis dari rilis sebelumnya.
Nilai kembalian dari tindakan adalah hash yang mewakili rilis terbaru. Hash ini juga tersedia menggunakan lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Untuk informasi selengkapnya tentang kolom yang tersedia di hash ini, lihat dokumentasi REST API .
Parameter
parameter firebase_app_distribution_get_latest_release | |
---|---|
app | Wajib : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings . app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token | Token penyegaran yang dicetak saat Anda menjalankan tindakan login plugin (lihat Mengautentikasi menggunakan akun Google , di atas), atau saat Anda mengautentikasi lingkungan CI dengan Firebase CLI (baca Menggunakan sistem CLI dengan CI untuk informasi lebih lanjut). |
service_credentials_file | Jalur ke file json akun layanan Google Anda. Lihat di atas untuk mengetahui cara mengautentikasi menggunakan kredensial akun layanan . |
debug | Bendera boolean. Anda dapat menyetelnya ke |
Langkah selanjutnya
Pelajari praktik terbaik untuk mendistribusikan aplikasi Android ke penguji QA menggunakan CI/CD .