iOS ve Android uygulamalarının oluşturulup 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ı uygular. Fastlane'i ve Fastfile
ayarlarınızı yaptıktan sonra App Distribution'ı fastlane yapılandırmanızla entegre edebilirsiniz.
1. adım: Fastlane kurulumu
Fastlane yapılandırmanıza App Distribution'ı eklemek için iOS projenizin kök dizininden 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 kullanabilmeniz için öncelikle aşağıdaki yöntemlerden birini kullanarak Firebase projenizle kimlik doğrulaması yapmanız gerekir. Varsayılan olarak, başka bir kimlik doğrulama yöntemi kullanılmıyorsa fastlane eklentisi, Firebase CLI'dan kimlik bilgilerini arar.
3. adım: Fastfile'ınızı kurun ve uygulamanızı dağıtın
./fastlane/Fastfile
şeritte,firebase_app_distribution
blok 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. Uygulama kimliğini Firebase konsolundaki Genel Ayarlar sayfasında bulabilirsiniz.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 olarakGoogleService-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
CI ortamınızın kimliğini Firebase CLI ile doğrularken yazdırılan bir yenileme jetonu (daha fazla bilgi için CLI'yı CI sistemleriyle kullanma başlıklı makaleyi okuyun).
service_credentials_file
Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulama işlemi hakkında bilgi edinmek için yukarıya bakın.
ipa_path
apk_path
(desteği sonlandırılmış) ile değiştirilir. Yüklemek istediğiniz IPA dosyasının mutlak yolu. Belirtilmemesi durumunda fastlane, dosyanın konumunu dosyanın oluşturulduğu şeritten belirler.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 adresleri listesi olarak belirtebilirsiniz:
testers: "ali@example.com, bri@example.com, cal@example.com"
Alternatif olarak, e-posta adreslerinin virgülle ayrılmış 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ı (Test kullanıcılarını yönetme bölümüne bakın). Gruplar, Firebase konsolunda arayabileceğiniz
grup takma adları kullanılarak belirlenir.Grupları virgülle ayrılmış liste olarak belirtebilirsiniz:
groups: "qa-team, trusted-testers"
Alternatif olarak, grup adlarının virgülle ayrılmış listesini içeren bir düz metin dosyasının yolunu belirtebilirsiniz:
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ı (Otomatik testler bölümüne bakın).
Test cihazlarını, noktalı virgülle ayrılmış test cihazları listesi olarak belirtebilirsiniz:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Alternatif olarak, test cihazlarının noktalı virgülle ayrılmış listesini içeren bir 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 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. Ayrıntılı hata ayıklama çıkışını yazdırmak için bu ayarı
true
olarak belirleyebilirsiniz.
Örnek:
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 edinmek 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ı olup test kullanıcılarının ve diğer geliştiricilerin doğru sürüme sahip olmasını sağlar:
- Tek bir sürümü gösteren Firebase konsolu bağlantısı. 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 kullanıcısı deneyimindeki sürüme (iOS web klibi) bağlantı. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.
- Uygulama ikili programını (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 150 gün boyunca Firebase konsolunun Uygulama Dağıtımı kontrol panelinde kullanıma sunulur. Derlemenin süresinin dolmasından 30 gün sonra, konsolda ve test kullanıcısının test cihazındaki derleme listesinde bir geçerlilik bitiş bildirimi görünür.
Daha önce uygulamayı test etmeye davet edilmemiş test kullanıcıları, kullanmaya başlamak için e-posta davetiyeleri alır. Mevcut test kullanıcıları, yeni bir derlemenin teste hazır olduğuna dair e-posta bildirimleri alır. Test uygulamasını nasıl yükleyeceğinizi öğrenmek için Test kullanıcısı olarak ayarlama konusuna bakın. Firebase konsolunda daveti kabul edip etmediklerini ve uygulamayı indirip indirmediklerini belirlemek için her test kullanıcısının durumunu izleyebilirsiniz.
(İsteğe bağlı) App Distribution'da yeni bir sürüm oluşturduğunuzda derleme numaranızı otomatik olarak artırmak için firebase_app_distribution_get_latest_release
ve increment_build_number
işlemini kullanabilirsiniz.
Aşağıdaki kodda derleme numaranızı otomatik olarak nasıl artıracağınıza 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 bölümüne bakın.
4. Adım (İsteğe bağlı). Dağıtım için test kullanıcılarını yönetme
Fastfile
dosyanızı kullanarak veya doğrudan fastlane işlemlerini çalıştırarak projenize ya da grubunuza test kullanıcıları ekleyip kaldırabilirsiniz. İşlemlerin çalıştırılması Fastfile
içinde ayarlanan değerleri doğrudan geçersiz kılar.
Firebase projenize eklenen test kullanıcılarını tek tek sürümlere ekleyebilirsiniz. Firebase projenizden kaldırılan test kullanıcıları artık projenizdeki sürümlere erişemez ancak bir süreliğine sürümlerinize erişmeye devam edebilirler.
Çok sayıda test kullanıcınız varsa grupları kullanmayı düşünebilirsiniz.
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 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ı --emails
yerine --file="/path/to/testers.txt
kullanarak da belirtebilirsiniz.
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 kaldırılır).service_credentials_file
: Google hizmeti kimlik bilgileri dosyanızın yolu.firebase_cli_token
: Firebase CLI için kimlik doğrulama jetonu.
service_credentials_file
ve firebase_cli_token
, yükleme işlemi tarafından kullanılan bağımsız değişkenlerdir.
5. Adım (İsteğe bağlı). Uygulamanızın en son sürümüyle ilgili bilgi edinme
Uygulama sürümü bilgileri, sürüm notları ve oluşturma zamanı dahil olmak üzere uygulamanızın App Distribution'daki son sürümüyle ilgili bilgileri getirmek için firebase_app_distribution_get_latest_release
işlemini kullanabilirsiniz. Kullanım alanları, sürümün otomatik olarak artırılmasını ve önceki sürümdeki sürüm notlarının taşınmasını içerir.
İş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 edinmek için REST API belgelerine bakın.
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 ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
Arşivlenmiş ürün yoluna göre
Bu dosya, |
firebase_cli_token
|
CI ortamınızın kimliğini Firebase CLI ile doğrularken yazdırılan bir yenileme jetonu (daha fazla bilgi için CLI'yı CI sistemleriyle kullanma başlıklı makaleyi okuyun). |
service_credentials_file
|
Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulama işleminin nasıl yapıldığını anlatan önceki belgelere göz atın. |
service_credentials_json_data
|
Google hizmet hesabı json dosyasının içeriği. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulama işleminin nasıl yapıldığını anlatan önceki belgelere göz atın. |
debug
|
Boole işareti. Ayrıntılı hata ayıklama çıkışını yazdırmak için bu ayarı |
Sonraki adımlar
Manuel veya programatik olarak daha fazla cihazı kaydetmek için Ek iOS cihazları kaydetme bölümüne bakın.
CI/CD ve fastlane kullanarak Apple uygulamalarını QA test kullanıcılarına dağıtma ile ilgili en iyi uygulamaları öğrenin.