Fastlane kullanarak iOS uygulamalarını test kullanıcılarına dağıtın

iOS ve Android uygulamaları oluşturmayı ve yayınlamayı otomatikleştiren açık kaynaklı bir platform olan fastlane'i kullanarak derlemeleri test kullanıcılarına dağıtabilirsiniz. Fastfile tanımlanan basit talimatları takip eder. Fastlane'i ve Fastfile kurduktan sonra Uygulama Dağıtımını fastlane yapılandırmanızla entegre edebilirsiniz.

1. Adım. Fastlane'i kurun

  1. Fastlane'i kurun ve ayarlayın .

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

    fastlane add_plugin firebase_app_distribution

    Komut sizden bir seçenek isterse Option 3: RubyGems.org .

2. Adım. Firebase ile kimlik doğrulaması yapın

Fastlane eklentisini kullanmadan önce Firebase projenizde aşağıdaki yollardan biriyle kimlik doğrulaması yapmanız gerekir. Varsayılan olarak fastlane eklentisi, başka bir kimlik doğrulama yöntemi kullanılmazsa Firebase CLI'deki kimlik bilgilerini arar.

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

  1. ./fastlane/Fastfile şeridine 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 bir Firebase yapılandırma dosyası ( GoogleService-Info.plist ) içermiyorsa gereklidir : Uygulamanızın Firebase Uygulama Kimliği. Uygulama Kimliğini Firebase konsolunun Genel Ayarlar sayfasında bulabilirsiniz.

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

    Arşivlenen ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist ayarlayın.

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

    firebase_cli_token

    CI ortamınızın kimliğini Firebase CLI ile doğruladığınızda yazdırılan bir yenileme belirteci (daha fazla bilgi için CLI'yi CI sistemleriyle kullanma konusunu okuyun).

    service_credentials_file

    Google hizmet hesabınızın json dosyasının yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulamanın nasıl yapılacağını öğrenmek için yukarıya bakın.

    ipa_path

    apk_path yerine geçer (kullanımdan kaldırıldı). Yüklemek istediğiniz IPA dosyasının mutlak yolu. Belirtilmemişse fastlane, dosyanın konumunu dosyanın oluşturulduğu şeritten belirler.

    release_notes
    release_notes_file

    Bu yapıya ilişkin sürüm notları.

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

    release_notes: "Text of release notes"

    Veya düz metin dosyasının yolunu belirtin:

    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 adresleri listesi olarak belirtebilirsiniz:

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

    Veya virgülle ayrılmış e-posta adresleri listesini içeren düz metin dosyasının yolunu belirtebilirsiniz:

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

    Davet etmek istediğiniz test kullanıcısı grupları (bkz. Test kullanıcılarını yönetme ). Gruplar kullanılarak belirtilir grup takma adları Firebase konsolunda arayabilirsiniz.

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

    groups: "qa-team, trusted-testers"

    Veya virgülle ayrılmış grup adları listesini içeren düz metin dosyasının yolunu belirtebilirsiniz:

    groups_file: "/path/to/groups.txt"
    debug

    Bir Boole bayrağı. Ayrıntılı hata ayıklama çıktısını yazdırmak için bunu true olarak ayarlayabilirsiniz.

    test_devices
    test_devices_file

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

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

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

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

    Veya test cihazlarının noktalı virgülle ayrılmış listesini içeren düz metin dosyasının yolunu belirtebilirsiniz:

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

    Otomatik testler sırasında kullanılacak otomatik oturum açma kullanıcı adı.

    test_password
    test_password_file

    Otomatik testler sırasında kullanılacak otomatik oturum açma şifresi.

    Veya parola içeren düz metin dosyasının yolunu belirtebilirsiniz:

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

    Otomatik testler sırasında kullanılacak otomatik oturum açmaya yönelik kullanıcı adı alanının kaynak adı.

    test_password_resource

    Otomatik testler sırasında kullanılacak otomatik oturum açma parolası 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.

Ö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

Yapıyı test kullanıcılarının kullanımına sunmak için şeridinizi çalıştırın:

fastlane <lane>

Eylemin dönüş değeri, yüklenen sürümü temsil eden bir karmadır. Bu karma, lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] kullanılarak da kullanılabilir. Bu karmadaki kullanılabilir alanlar hakkında daha fazla bilgi için REST API belgelerine bakın.

Fastlane eklentisi, sürüm yüklemesinden sonra aşağıdaki bağlantıların çıktısını verir. Bu bağlantılar ikili dosyaları yönetmenize ve test kullanıcılarının ve diğer geliştiricilerin doğru sürüme sahip olmasını sağlamanıza yardımcı olur:

  • Tek bir sürümü gösteren Firebase konsoluna bağlantı. Bu bağlantıyı kuruluşunuzdaki diğer geliştiricilerle paylaşabilirsiniz.
  • 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 deneyimindeki (iOS web klibi) sürümün bağlantısı. Bağlantıyı kullanabilmek için test kullanıcısının sürüme erişmesi gerekiyor.
  • Uygulama ikili dosyasını (IPA dosyası) doğrudan indirip yükleyen imzalı bir bağlantı. Bağlantının süresi bir saat sonra sona erer.

Derlemenizi dağıttıktan sonra, 150 gün boyunca Firebase konsolunun Uygulama Dağıtımı kontrol panelinde kullanılabilir. Derlemenin süresinin dolmasının üzerinden 30 gün geçtiğinde, konsolda ve test kullanıcısının test cihazındaki derlemeler listesinde bir sona erme bildirimi görünür.

Daha önce uygulamayı test etmeye davet edilmemiş olan test kullanıcıları, başlamak için e-posta davetiyeleri alırlar. Mevcut test kullanıcıları, yeni bir yapının test edilmeye hazır olduğuna dair e-posta bildirimleri alır. Test uygulamasını nasıl yükleyeceğinizi öğrenmek için bkz. Test kullanıcısı olarak kurulum yapma . Daveti kabul edip etmediklerini ve uygulamayı Firebase konsoluna indirip indirmediklerini belirlemek için her test kullanıcısının durumunu izleyebilirsiniz.

(İsteğe bağlı) Uygulama Dağıtımı'nda her yeni sürüm oluşturduğunuzda derleme numaranızı otomatik olarak artırmak için firebase_app_distribution_get_latest_release eylemini ve increment_build_number eylemini kullanabilirsiniz. Aşağıdaki kod, derleme numaranızı otomatik olarak nasıl artıracağınıza ilişkin bir örnek sağlar:

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 alma konusuna bakın.

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

Fastfile dosyanızı kullanarak veya doğrudan fastlane eylemlerini çalıştırarak test kullanıcılarını projenize veya grubunuza ekleyebilir veya kaldırabilirsiniz. Eylemleri çalıştırmak, Fastfile dosyanızda ayarlanan değerleri doğrudan geçersiz kılar.

Firebase projenize bir test kullanıcısı eklendiğinde bunları ayrı ayrı sürümlere ekleyebilirsiniz. Firebase projenizden kaldırılan test kullanıcılarının artık projenizdeki sürümlere erişimi yoktur ancak bir süre daha sürümlerinize erişimlerini koruyabilirler.

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

Fastfile kullan

# 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

Fastlane eylemlerini çalıştırın

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ı --emails yerine --file="/path/to/testers.txt kullanarak da belirleyebilirsiniz.

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

  • project_name : Firebase proje numaranız.
  • group_alias (isteğe bağlı): Belirtilmişse, 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 kimlik doğrulama belirteci.

service_credentials_file ve firebase_cli_token yükleme eylemi tarafından kullanılan argümanların aynısıdır.

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

Uygulama sürüm bilgileri, sürüm notları ve oluşturma zamanı dahil olmak üzere uygulamanızın Uygulama Dağıtımındaki en son sürümü hakkında bilgi almak için firebase_app_distribution_get_latest_release eylemini kullanabilirsiniz. Kullanım örnekleri arasında sürümün otomatik olarak artırılması ve önceki sürümdeki sürüm notlarının taşınması yer alır.

Eylemin dönüş değeri, en son sürümü temsil eden bir karmadır. Bu karma, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] kullanılarak da kullanılabilir. Bu karmadaki kullanılabilir 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 bir Firebase yapılandırma dosyası ( GoogleService-Info.plist ) içermiyorsa gereklidir : Uygulamanızın Firebase Uygulama Kimliği. Uygulama Kimliğini Firebase konsolunun Genel Ayarlar sayfasında bulabilirsiniz.

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

Arşivlenen ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist ayarlayın.

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

firebase_cli_token

CI ortamınızın kimliğini Firebase CLI ile doğruladığınızda yazdırılan bir yenileme belirteci (daha fazla bilgi için CLI'yi CI sistemleriyle kullanma konusunu okuyun).

service_credentials_file

Google hizmet hesabınızın json dosyasının yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulamanın nasıl yapılacağını öğrenmek için yukarıya bakın.

debug

Bir Boole bayrağı. Ayrıntılı hata ayıklama çıktısını yazdırmak için bunu true olarak ayarlayabilirsiniz.

Sonraki adımlar