iOS ve Android uygulamalarının oluşturulmasını ve yayınlanmasını otomatikleştiren açık kaynaklı bir platform olan fastlane'i kullanarak yapıları test kullanıcılarına dağıtabilirsiniz. Bir Fastfile
tanımlanan basit talimatları izler. Fastlane'i ve Fastfile
ayarladıktan sonra, App Distribution'ı 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 dizininden aşağıdaki komutu çalıştırın:
fastlane add_plugin firebase_app_distribution
Komut size bir seçenek sorarsa
Option 3: RubyGems.org
.
2. Adım. Firebase ile Kimlik Doğrulayın
Fastlane eklentisini kullanabilmeniz için öncelikle Firebase projenizde aşağıdaki yollardan biriyle kimlik doğrulaması yapmanız gerekir. Varsayılan olarak, başka bir kimlik doğrulama yöntemi kullanılmıyorsa, fastlane eklentisi Firebase CLI'den kimlik bilgilerini arar.
Bir hizmet hesabıyla kimlik doğrulaması, eklentiyi sürekli tümleştirme (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
işlemine iletin. Yapı ortamınızda hizmet hesabı anahtar dosyanız zaten varsa, bu yöntemi kullanışlı bulabilirsiniz. -
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini hizmet hesabı anahtar dosyanıza işaret edecek şekilde ayarlayın. Halihazırda başka bir Google hizmeti (ör. Google Cloud) için yapılandırılmış Uygulama Varsayılan Kimlik Bilgileri'ne (ADC) sahipseniz 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ı yapı ortamınız tarafından erişilebilen bir konuma taşıyın. Firebase projenizde Uygulama Dağıtımı için 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 APIs konsolunda Firebase App Distribution API'yi etkinleştirin. İstendiğinde, Firebase projenizle aynı ada sahip projeyi seçin.
Hizmet hesabı kimlik bilgilerinizi sağlayın veya bulun:
- Hizmet hesabı anahtarınızı kulvarınızın
firebase_app_distribution
işlemine iletmek için, özel anahtar JSON dosyanızın yolu ileservice_credentials_file
parametresini 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 bölümünü okuyun.
- Hizmet hesabı anahtarınızı kulvarınızın
Projenizin kimliğini nasıl doğrulayacağınıza ilişkin talimatlar için Firebase CLI ile oturum açma bölümüne bakın.
3. Adım. Fastfile'ınızı kurun ve uygulamanızı dağıtın
- Bir
./fastlane/Fastfile
şeridinde 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 konsolunda, 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
ayarlayın.app
parametresi belirtilmemişse dosya, 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 bölümünü okuyun).
service_credentials_file
Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulaması yapacağınızı öğrenmek için yukarıya bakın.
ipa_path
apk_path
yerine geçer (kullanımdan kaldırılmıştır). Yüklemek istediğiniz IPA dosyasının mutlak yolu. Belirtilmezse, fastlane dosyanın konumunu dosyanın oluşturulduğu şeritten belirler.release_notes
release_notes_file
Bu yapı için 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ış bir e-posta adresi listesi olarak belirtebilirsiniz:
testers: "ali@example.com, bri@example.com, cal@example.com"
Veya virgülle ayrılmış e-posta adresleri listesi içeren bir düz metin dosyasının yolunu belirleyebilirsiniz:
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önet ). Gruplar kullanılarak belirtilir
grup takma adları , Firebase konsolunda arayabilirsiniz.Grupları virgülle ayrılmış bir liste olarak belirleyebilirsiniz:
groups: "qa-team, trusted-testers"
Veya virgülle ayrılmış grup adları listesi içeren bir düz metin dosyasının yolunu belirleyebilirsiniz:
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 edenlerin kullanımına sunmak için kulvarınızı çalıştırın:
fastlane <lane>
İşlemin 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ı verir. Bu bağlantılar, ikili dosyaları yönetmenize ve test edicilerin ve diğer geliştiricilerin doğru sürüme sahip olmalarını sağlamanıza yardımcı olur:
- Tek bir sürümü görüntüleyen 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ülemelerine ve uygulamayı cihazlarına yüklemelerine olanak tanıyan, test kullanıcısı deneyimindeki (iOS web klibi) yayın bağlantısı. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.
- Uygulama ikili dosyasını (IPA dosyası) doğrudan indiren ve yükleyen imzalı bir bağlantı. Bağlantı bir saat sonra sona erer.
Yapınızı dağıttıktan sonra, yapınız Firebase konsolunun Uygulama Dağıtım panosunda 150 gün boyunca kullanılabilir. Derlemenin süresinin dolmasına 30 gün kala konsolda ve test cihazının test cihazındaki derlemeler listesinde bir süre sonu 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ır. Mevcut test kullanıcıları, yeni bir derlemenin 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 yapın . Daveti kabul edip etmediklerini ve uygulamayı Firebase konsolundan indirip indirmediklerini belirlemek için her test kullanıcısının durumunu izleyebilirsiniz.
(İsteğe bağlı) App Distribution'da her yeni sürüm oluşturduğunuzda yapı 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, yapı numaranızı otomatik olarak nasıl artıracağınıza dair 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 eklenti özelliği hakkında daha fazla bilgi edinmek için Uygulamanızın en son sürümü hakkında bilgi alma bölümüne bakın.
Adım 4 (İsteğe bağlı). Dağıtım için test kullanıcılarını yönetme
Fastfile
dosyanızı kullanarak veya doğrudan fastlane eylemlerini çalıştırarak test kullanıcılarını uygulama sürümünüze ekleyebilir ve kaldırabilirsiniz. Yürütülen eylemler, Fastfile
dosyanızda ayarlanan değerleri doğrudan geçersiz kılar.
Firebase projenize bir test kullanıcısı eklendikten sonra, bunları ayrı sürümlere ekleyebilirsiniz. Firebase projenizden çıkarılan test kullanıcıları artık projenizdeki sürümlere erişemez, ancak sürümlerinize erişimlerini bir süreliğine koruyabilirler.
Fastfile
kullan
# Use lanes to add or remove testers from an app release. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Hızlı şerit eylemlerini çalıştır
fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"
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 de aşağıdaki bağımsız değişkenleri kabul eder:
-
project_name
: Firebase proje numaranız. -
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 bağımsız değişkenlerin aynısıdır.
Adım 5 (İsteğe bağlı). Uygulamanızın 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 App Distribution'daki en son sürümü hakkında bilgi almak için firebase_app_distribution_get_latest_release
eylemini kullanabilirsiniz. Kullanım örnekleri, sürümün otomatik olarak yükseltilmesini ve önceki sürümden sürüm notlarının taşınmasını içerir.
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şivlenmiş ürün yoluna göre |
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 bölümünü okuyun). |
service_credentials_file | Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulaması yapacağınızı öğ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
Manuel veya programlı 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 uzmanlarına dağıtmak için en iyi uygulamaları öğrenin.