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 kurulumu
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
./fastlane/Fastfile
şeritte birfirebase_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 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
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 belirlenir 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) tıklayın.
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 ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
Arşivlenmiş ürün yoluna göre
Bu dosya, |
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 |
Sonraki adımlar
Manuel veya programatik olarak daha fazla cihaz kaydetmek için bkz. Başka iOS cihazları kaydedin.
CI/CD ve fastlane kullanarak Apple uygulamalarını QA test kullanıcılarına dağıtma ile ilgili en iyi uygulamaları öğrenin.