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

Derlemeleri Fastlane, iOS ve Android'in geliştirilmesini ve yayınlanmasını otomatikleştiren açık kaynak bir platform Fastfile içinde tanımlanan basit talimatları uygular. Ayarları yaptıktan sonra ve Fastfile cihazınızı kullanarak App Distribution işletim sistemini fastlane'inizle entegre edebilirsiniz. yapılandırma.

1. Adım. Fastlane ayarla

  1. Fastlane'i yükleme ve kurma

  2. Fastlane yapılandırmanıza App Distribution eklemek için aşağıdaki komutu çalıştırın komutunu ç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 kullanabilmeniz için öncelikle aşağıdaki yöntemlerden birini kullanarak Firebase için doğrulayabilirsiniz. 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 şeritte bir firebase_app_distribution blok. Aşağıdaki parametreleri kullanarak dağıtımı yapılandırı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.

    Bu dosya, app parametresi belirtilmediyse 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. Nasıl yapılacağını öğrenmek için yukarıdaki bilgilere bakın. hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları uygulayı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"

    Veya bir düz metin dosyasının yolunu belirtmek için e-posta adreslerinin virgülle ayrılmış listesi:

    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, size gönderebileceğiniz grup takma adları kullanılarak belirtilir Firebase konsolunda ara.

    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 kullanıcısı beta özelliği kapsamındadır.

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

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

    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 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ına sunmak için şeridinizi çalıştırın:

fastlane <lane>
.

İşlemin döndürülen değeri, yüklenen yayını 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 belgeleri.

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:

  • Firebase konsolunun bağlantısını gösteren ve yayınlanmıştır. Bu bağlantıyı diğer geliştiricilerle şurada paylaşabilirsiniz: org.
  • Test kullanıcısı deneyimindeki sürümün bağlantısı (iOS web klibi), test kullanıcılarının sürüm notlarını görüntülemesine ve uygulamayı yüklemesine olanak tanır giriş yapmış olabilir. Test kullanıcısının bağlantıyı tıklayın.
  • Doğrudan indirilen ve uygulama ikili programını (IPA dosyası) yükler. 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. Testi nasıl yükleyeceğinizi öğrenmek için uygulamasında Test kullanıcısı olarak ayarlama konusuna bakın. 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 kod, derleme numarası:

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 edinin.

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. İşlemleri doğrudan çalıştırma Fastfile içinde 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şebilirler ancak erişimlerini koruyabilirler belirli bir süre boyunca yayınlayacağınız içeriklere göz atın.

Ç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

Fastlane işlemlerini çalıştır

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örev şunları da kabul ediyor bağımsız değişkenler:

  • project_name: Firebase proje numaranız.
  • group_alias (isteğe bağlı): Belirtilirse test kullanıcıları gruba eklenir (veya gruptan kaldırılır) belirtilen grup.
  • 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 aynı bağımsız değişkenlerin tümünü ifade eder.

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

firebase_app_distribution_get_latest_release işlemini kullanabilirsiniz uygulamanızın App Distribution'daki son sürümüyle ilgili bilgileri getirmek için uygulama sürümü bilgileri, sürüm notları ve oluşturma zamanı gibi. 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, 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 belgeleri.

Parametreler

firebase_app_distribution_get_ araçları en son sürümü 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.

Bu dosya, app parametresi belirtilmediyse 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ının 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. Bunu true olarak ayarlayabilirsiniz hata ayıklama çıktısını yazdırmanızı sağlar.

Sonraki adımlar