Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Distribusikan aplikasi iOS ke penguji menggunakan fastlane

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Anda dapat mendistribusikan build ke penguji menggunakan fastlane , platform sumber terbuka yang membuat dan merilis aplikasi iOS dan Android secara otomatis. Ini mengikuti instruksi sederhana yang didefinisikan dalam Fastfile . Setelah menyiapkan fastlane dan Fastfile Anda, Anda dapat mengintegrasikan App Distribution dengan konfigurasi fastlane Anda.

Langkah 1. Siapkan jalur cepat

  1. Instal dan atur fastlane .

  2. Untuk menambahkan App Distribution ke konfigurasi fastlane Anda, jalankan perintah berikut dari root project iOS 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.

Langkah 3. Siapkan Fastfile Anda dan distribusikan aplikasi Anda

  1. Di jalur ./fastlane/Fastfile , tambahkan blok firebase_app_distribution . Gunakan parameter berikut untuk mengonfigurasi distribusi:
    parameter firebase_app_distribution
    app

    Diperlukan hanya jika aplikasi Anda tidak berisi file konfigurasi Firebase ( GoogleService-Info.plist ) : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings .

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    Jalur ke file GoogleService-Info.plist Anda, relatif terhadap jalur produk yang diarsipkan. Setel ke GoogleService-Info.plist secara default.

    File tersebut digunakan untuk mendapatkan ID Aplikasi Firebase aplikasi Anda jika parameter app tidak ditentukan.

    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 .

    ipa_path

    Menggantikan apk_path (usang). Jalur absolut ke file IPA 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.

Sebagai contoh:

platform :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        firebase_app_distribution(
            app: "1:123456789:ios: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 (klip web iOS) 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 IPA). 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 Menyiapkan sebagai 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 membuat rilis baru di App Distribution, Anda dapat menggunakan tindakan firebase_app_distribution_get_latest_release dan tindakan increment_build_number . 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_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

Untuk mempelajari lebih lanjut tentang fitur plugin fastlane ini, lihat Dapatkan informasi tentang rilis terbaru aplikasi Anda .

Langkah 4 (Opsional). Kelola 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

Diperlukan hanya jika aplikasi Anda tidak berisi file konfigurasi Firebase ( GoogleService-Info.plist ) : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings .

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

Jalur ke file GoogleService-Info.plist Anda, relatif terhadap jalur produk yang diarsipkan. Setel ke GoogleService-Info.plist secara default.

File tersebut digunakan untuk mendapatkan ID Aplikasi Firebase aplikasi Anda jika parameter app tidak ditentukan.

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 true untuk mencetak keluaran debug verbose.

Langkah selanjutnya