Fastlane'i kullanarak iOS uygulamalarını test kullanıcılarına dağıtma

iOS ve Android uygulamalarının derlenmesini ve yayınlanmasını otomatikleştiren açık kaynak bir platform olan fastlane'i kullanarak derlemeleri test kullanıcılarına dağıtabilirsiniz. Fastfile içinde tanımlanan basit talimatları izler. Fastlane'i ve Fastfile'inizi ayarladıktan sonra App Distribution'i Fastlane yapılandırmanıza entegre edebilirsiniz.

1. Adım. Fastlane ayarla

  1. Fastlane'ı yükleme ve ayarlama.

  2. Fastlane yapılandırmanıza App Distribution eklemek için iOS projenizin kökünden aşağıdaki komutu çalıştırın:

    fastlane add_plugin firebase_app_distribution

    Komutta bir seçenek gösteriliyorsa Option 3: RubyGems.org'i seçin.

2. Adım. Firebase ile kimlik doğrulama

Fastlane eklentisini kullanabilmek için öncelikle aşağıdaki yöntemlerden biriyle Firebase projenizle kimlik doğrulamanız gerekir. Varsayılan olarak, Fastlane eklentisi başka bir kimlik doğrulama işlemi yoksa Firebase KSA'nın kimlik bilgilerini arar yöntemi kullanılır.

3. Adım: Fastfile'ınızı kurun ve uygulamanızı dağıtın

  1. ./fastlane/Fastfile şeridinde bir firebase_app_distribution bloğu ekleyin. Dağıtımı yapılandırmak için aşağıdaki parametreleri kullanın:
    firebase_app_distribution parametreleri
    app

    Yalnızca uygulamanız Firebase yapılandırma dosyası içermiyorsa gereklidir (GoogleService-Info.plist): Uygulamanızın Firebase uygulama kimliği. Siz Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfası.

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

    Arşivlenmiş ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist değerine ayarlanır.

    Dosya, app parametresi belirtilmemişse uygulamanızın Firebase uygulama kimliğini almak için kullanılır.

    firebase_cli_token

    Firebase KSA (okuma CLI'yı CI sistemleriyle kullanma bakın).

    service_credentials_file

    Google hizmet hesabı JSON dosyanızı yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulama hakkında daha fazla bilgi için yukarıdaki bölüme bakın.

    ipa_path

    apk_path (desteği sonlandırılmış) ile değiştirilir. Mutlak yol yüklemek istediğiniz IPA dosyasını seçin. Eğer belirtilmedi, fastlane dosyanın konumunu şeritten belirler dosyanın oluşturulduğu yer.

    release_notes
    release_notes_file

    Bu derlemenin sürüm notları.

    Sürüm notlarını doğrudan belirtebilirsiniz:

    release_notes: "Text of release notes"

    İsterseniz düz metin dosyasının yolunu da belirtebilirsiniz:

    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    Davet etmek istediğiniz test kullanıcılarının e-posta adresleri.

    Test kullanıcılarını virgülle ayrılmış e-posta listesi olarak belirtebilirsiniz adresler:

    testers: "ali@example.com, bri@example.com, cal@example.com"

    Dilerseniz virgülle ayrılmış e-posta adresleri listesi içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Davet etmek istediğiniz test kullanıcısı grupları (Test kullanıcılarını yönetme bölümünü inceleyin). Gruplar, Firebase konsolunda bulabileceğiniz grup takma adları kullanılarak belirtilir.

    Grupları virgülle ayrılmış liste olarak belirtebilirsiniz:

    groups: "qa-team, trusted-testers"

    Veya bir düz metin dosyasının yolunu belirtmek için grup adlarının virgülle ayrılmış listesi:

    groups_file: "/path/to/groups.txt"
    test_devices
    test_devices_file

    Aşağıdaki dağıtım türleri otomatik test aracı beta özelliğinin bir parçasıdır.

    Derlemeleri dağıtmak istediğiniz test cihazları (bkz. Otomatik testler).

    Test cihazlarını noktalı virgülle ayrılmış bir test cihazı listesi olarak belirtebilirsiniz:

    test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    Veya bir düz metin dosyasının yolunu belirtmek için test cihazlarının noktalı virgülle ayrılmış listesi:

    test_devices_file: "/path/to/test-devices.txt"
    test_username

    Otomatik testler sırasında kullanılacak otomatik giriş kullanıcı adı.

    test_password
    test_password_file

    Otomatik testler sırasında kullanılacak otomatik giriş şifresi.

    Alternatif olarak, şifre içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    test_password_file: "/path/to/test-password.txt"
    test_username_resource

    Otomatik testler sırasında kullanılacak otomatik girişe yönelik kullanıcı adı alanının kaynak adı.

    test_password_resource

    Otomatik testler sırasında kullanılacak otomatik giriş şifre alanının kaynak adı.

    test_non_blocking

    Otomatik testleri eşzamansız olarak çalıştırın. Otomatik test sonuçları için Firebase konsolunu ziyaret edin.

    debug

    Boole işareti. Bunu true olarak ayarlayabilirsiniz hata ayıklama çıktısını yazdırmanızı sağlar.

Örneğin:

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

        release = 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

Derlemeyi test kullanıcılarının kullanımına sunmak için kanalınızı çalıştırın:

fastlane <lane>

İşlemin döndürdüğü değer, yüklenen sürümü temsil eden bir karma oluşturma işlemidir. Bu karma oluşturma işlemi, lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] kullanılarak da yapılabilir. Bu karma oluşturma işleminde kullanılabilen alanlar hakkında daha fazla bilgi için REST API belgelerine bakın.

Fastlane eklentisi, sürüm yüklendikten sonra aşağıdaki bağlantıları görüntüler. Bu bağlantıları, ikili programları yönetmenize yardımcı olur ve test kullanıcılarının ve diğer geliştiricilerin doğru sürümü kullanın:

  • Tek bir sürümü gösteren Firebase konsolunun bağlantısı. Bu bağlantıyı diğer geliştiricilerle şurada paylaşabilirsiniz: org.
  • Test kullanıcılarının sürüm notlarını görüntülemesine ve uygulamayı cihazlarına yüklemesine olanak tanıyan, test kullanıcısı deneyimindeki sürüm bağlantısı (iOS web klibi). Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.
  • Uygulama ikilisini (IPA dosyası) doğrudan indirip yükleyen imzalı bir bağlantı. Bağlantının süresi bir saat sonra dolar.

Derlemeniz dağıtıldıktan sonra Firebase konsolunun App Distribution gösterge tablosunu 150 gün boyunca takip edin. Derlemenin süresinin dolmasına 30 gün kaldığında Konsolda ve test kullanıcısının test cihazındaki derleme listesinde yer alır.

Daha önce uygulamayı test etmek üzere davet edilmemiş test kullanıcıları e-posta alır davet edebilirsiniz. Mevcut test kullanıcıları e-posta bildirimleri alır olduğunu anlayabilir. Test uygulamasını nasıl yükleyeceğinizi öğrenmek için Tester olarak ayarlama başlıklı makaleyi inceleyin. Web sitemiz g.co/newsinitiative/labs üzerinden kabul edip etmediğini belirlemek için her test kullanıcısının durumunu söz konusu davetiyeyi ve uygulamayı doğrudan Google Play'de Firebase konsolu.

(İsteğe bağlı) Oluşturma işleminde derleme numaranızı otomatik olarak artırmak için App Distribution'da yeni bir sürümü kullanıma sunmak için firebase_app_distribution_get_latest_release işlemi ve increment_build_number işlem. Aşağıdaki kodda, derleme numaranızın nasıl otomatik olarak artırılacağına dair bir örnek verilmiştir:

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

Bu Fastlane eklentisi özelliği hakkında daha fazla bilgi edinmek için Uygulamanızın en son sürümü hakkında bilgi edinme başlıklı makaleyi inceleyin.

4. Adım (İsteğe bağlı). Dağıtım için test kullanıcılarını yönetme

Fastfile öğenizi kullanarak projenize veya grubunuza test kullanıcıları ekleyip kaldırabilirsiniz dosyası oluşturabilir veya doğrudan fastlane işlemlerini çalıştırabilir. Doğrudan işlem çalıştırmak, Fastfile dosyanızda ayarlanan değerleri geçersiz kılar.

Firebase projenize eklenen test kullanıcılarını şuraya ekleyebilirsiniz: ayrı ayrı yayınlayabileceksiniz. Firebase projenizden kaldırılan test kullanıcıları artık projenizdeki sürümlere erişemez ancak sürümlerinize belirli bir süre boyunca erişmeye devam edebilir.

Çok sayıda test kullanıcınız varsa grupları kullanmayı düşünebilirsiniz.

Fastfile hesabını kullanın

# Use lanes to add or remove testers from a project.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) add testers to this group
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) remove testers from this group only
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Hızlı şerit işlemlerini çalıştırma

fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"

Test kullanıcılarını şunun yerine --file="/path/to/testers.txt kullanarak da belirtebilirsiniz: --emails.

firebase_app_distribution_add_testers ve firebase_app_distribution_remove_testers görevleri aşağıdaki bağımsız değişkenleri de kabul eder:

  • project_name: Firebase proje numaranız.
  • group_alias (isteğe bağlı): Belirtilirse test kullanıcıları belirtilen gruba eklenir (veya gruptan çıkarılır).
  • service_credentials_file: Google hizmeti kimlik bilgileri dosyanızın yolu.
  • firebase_cli_token: Firebase CLI için yetkilendirme jetonu.

service_credentials_file ve firebase_cli_token, yükleme işlemi tarafından kullanılan aynı bağımsız değişkenlerdir.

5. Adım (İsteğe bağlı). Uygulamanızın en son sürümü hakkında bilgi edinme

Uygulama dağıtımında uygulamanızın en son sürümüyle ilgili bilgileri (ör. uygulama sürümü bilgileri, sürüm notları ve oluşturma zamanı) almak için firebase_app_distribution_get_latest_release işlemini kullanabilirsiniz. Kullanım alanları sürümü otomatik olarak yükseltmeyi ve bunları cihaza devretmeyi içerir. notlar (önceki sürümdeki notlar)

İşlemin döndürülen değeri, son sürümü temsil eden bir karmadır. Bu karma oluşturma işlemi, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] kullanılarak da yapılabilir. Bu karma oluşturma işleminde kullanılabilen alanlar hakkında daha fazla bilgi için REST API belgelerine bakın.

Parametreler

firebase_app_distribution_get_latest_release parametreleri
app

Yalnızca uygulamanız Firebase yapılandırma dosyası içermiyorsa gereklidir (GoogleService-Info.plist): Uygulamanızın Firebase uygulama kimliği. Siz Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfası.

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

Arşivlenmiş ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist değerine ayarlanır.

Dosya, app parametresi belirtilmemişse uygulamanızın Firebase uygulama kimliğini almak için kullanılır.

firebase_cli_token

Firebase KSA (okuma CLI'yı CI sistemleriyle kullanma bakın).

service_credentials_file

Google hizmet hesabı json dosyanızın yolu. Önceki belgelere göz atarak hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları uygulayın.

service_credentials_json_data

Google hizmet hesabı JSON dosyası içeriği. Önceki belgelere göz atarak hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları uygulayın.

debug

Boole işareti. Ayrıntılı hata ayıklama çıkışı yazdırmak için bu değeri true olarak ayarlayabilirsiniz.

Sonraki adımlar