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
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.
Bir hizmet hesabıyla kimlik doğrulama, eklentiyi sürekli entegrasyon (CI) sisteminizle esnek bir şekilde kullanmanıza olanak tanır. Hizmet hesabı kimlik bilgilerini sağlamanın iki yolu vardır:
- Hizmet hesabı anahtar dosyanızı
firebase_app_distribution
eylemine iletin. Hizmet hesabı anahtar dosyanız derleme ortamınızda zaten varsa bu yöntemi kullanışlı bulabilirsiniz. -
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini hizmet hesabı anahtar dosyanızı işaret edecek şekilde ayarlayın. Başka bir Google hizmeti (ör. Google Cloud) için yapılandırılmış Uygulama Varsayılan Kimlik Bilgileriniz (ADC) zaten varsa bu yöntemi tercih edebilirsiniz.
- Google Cloud Console'da projenizi seçin ve yeni bir hizmet hesabı oluşturun.
- Firebase Uygulama Dağıtım Yöneticisi rolünü ekleyin.
- Özel bir json anahtarı oluşturun ve anahtarı, derleme ortamınızın erişebileceği bir konuma taşıyın. Firebase projenizdeki Uygulama Dağıtımına yönetici erişimi sağladığından bu dosyayı güvenli bir yerde sakladığınızdan emin olun .
- Uygulamanızı 20 Eylül 2019'dan sonra oluşturduysanız bu adımı atlayın: Google API konsolunda Firebase App Distribution API'yi etkinleştirin. İstendiğinde Firebase projenizle aynı adı taşıyan projeyi seçin.
Hizmet hesabı kimlik bilgilerinizi sağlayın veya bulun:
- Hizmet hesabı anahtarınızı şeridinizin
firebase_app_distribution
eylemine aktarmak içinservice_credentials_file
parametresini özel anahtar JSON dosyanızın yoluyla ayarlayın. ADC ile kimlik bilgilerinizi bulmak için
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini özel anahtar JSON dosyasının yoluna ayarlayın. Örneğin:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC ile kimlik doğrulama hakkında daha fazla bilgi için Uygulamanıza kimlik bilgileri sağlama konusunu okuyun.
- Hizmet hesabı anahtarınızı şeridinizin
Projenizin kimliğini nasıl doğrulayacağınıza ilişkin talimatlar için Firebase CLI ile oturum açma konusuna bakın.
3. Adım. Fastfile'ınızı kurun ve uygulamanızı dağıtın
-
./fastlane/Fastfile
şeridine birfirebase_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 olarakGoogleService-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
Firebase CLI ile CI ortamınızın kimliğini 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.
Ö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ı ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Arşivlenen ürün yoluna göre Dosya, |
firebase_cli_token | Firebase CLI ile CI ortamınızın kimliğini 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 |
Sonraki adımlar
Daha fazla cihazı manuel veya programlı olarak kaydetmek için bkz . Ek iOS cihazlarını kaydetme.
Apple uygulamalarını CI/CD ve fastlane kullanarak QA test kullanıcılarına dağıtmaya yönelik en iyi uygulamaları öğrenin.