Uygulamanızı geliştirirken Firebase Test Lab entegrasyon (CI) sistemine geçelim. Sürekli entegrasyon sistemleri, uygulamanızı derleyip test edebilirsiniz.
Jenkins CI ile Firebase Test Lab kullanma
Bu bölümde, Test Lab özelliğinin Jenkins CI.
Şartlar
Firebase Test Lab öğesini Jenkins ile kullanmadan önce şu adımları uygulayın:
gcloud'u kurun. gcloud Komut Satırından Firebase Test Lab Kullanma başlıklı makaledeki talimatları uygulayarak Firebase projesi oluşturun ve yerel Google Cloud SDK ortamınızı yapılandırın.
Bir hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları şuna tabi değildir: CI'nızı engelleyebilecek spam kontrollerine veya captcha istemlerine inşa eder. Şurada Düzenleyici rolüne sahip olan bir hizmet hesabı oluşturun: Google Cloud konsolu ve ardından etkinleştirebilirim. (gcloud authenable-service-account belgelerine bakın bakın).
Gerekli API'leri etkinleştirin. Hizmet hesabını kullanarak giriş yaptıktan sonra: Google Developers Console API Kitaplığı sayfasında Google Cloud Testing API ve Cloud Tool Results API'yi etkinleştirin. Alıcı: bu API'leri etkinleştirmek istiyorsanız, bu API adlarını sayfanın üst kısmındaki arama kutusuna konsolu ve ardından söz konusu API'nin genel bakış sayfasında API'yi etkinleştir'i tıklayın.
Jenkins'i yükleme ve ayarlama
Linux veya Windows'da Jenkins CI'yı yükleyip ayarlayabilirsiniz. Bu kılavuzun belirli ayrıntıları, dosya yollarında eğik çizgi (/
) kullanımı da dahil olmak üzere Jenkins CI'nin Linux'ta yüklenmesine ve çalıştırılmasına özeldir.
Jenkins'i Linux veya Windows çalıştıran bir bilgisayara indirip yüklemek için aşağıdaki adımları uygulayın: Kurulum talimatlarını Jenkins. Jenkins'i yükledikten sonra kurulumu tamamlamak ve Jenkins kontrol paneline erişmek için Jenkins'i Başlatma ve Jenkins'e Erişim başlıklı makaledeki talimatları uygulayın.
Genel güvenlik ayarlarını yapılandırma
Jenkins, ilk olarak yüklenir. Jenkins'i Firebase Test Lab ile kullanmadan önce yapılandırın Erişim denetimini ve kimlik doğrulamasını zorunlu kılmak için kullanılan genel güvenlik ayarları yardımcı olur.
Genel güvenlik ayarlarını yapılandırmak için:
- Sunucunuzda Jenkins kontrol paneline gidin. Bunu yapmak için şuraya gidin: http://<sunucuadı>:8080, burada <sunucuadı>, addır. yüklediğiniz bilgisayarda açın.
- Jenkins kontrol panelinde, Manage Jenkins'i (Jenkins'i Yönet) tıklayın. Configure Global Security (Genel Güvenliği Yapılandır)
- Genel Güvenliği Yapılandır sayfasında Güvenliği etkinleştir'i, ardından Kaydet'i tıklayın.
Jenkins'in güvenlik ayarlarını yapılandırma hakkında daha fazla bilgi için bkz. Hızlı ve Basit Güvenlik, Standart Güvenlik Kurulumu, ve Jenkins'in güvenliğini sağlama.
Jenkins projesi oluşturma
Ardından, Firebase Test Lab ile uygulamanızın sürekli entegrasyon testini çalıştırmak için bir proje oluşturun.
Jenkins projesi oluşturmak için
- Sunucunuzda Jenkins kontrol paneline gidin. Bunu yapmak için şuraya gidin: http://<sunucuadı>:8080, burada <sunucuadı>, addır. yüklediğiniz bilgisayarda açın.
- Jenkins kontrol panelinde New Item (Yeni Öğe) seçeneğini tıklayın.
- Öğe adı alanına projeniz için bir ad yazın:
- Tek bir derleme yapılandırması kullanan bir proje oluşturmak için Serbest proje'yi seçin.
- Build çoklu configuration project'i (Çoklu yapılandırma projesi oluştur) seçin birçok farklı derleme yapılandırmasında çalışır. Bir web sitesi uygulamanızı çeşitli derleme yapılandırmaları (birden fazla yerel ayar, birden çok Android API düzeyi vb.) varsa çoklu yapılandırma projesi en iyi seçenek.
- Kaydet'i tıklayın.
Projeniz oluşturulduktan sonra web tarayıcınız belirler.
Düzeltme denetimi ve Gradle derleme adımlarını ekleyin
Bu bölümde, Jenkins'in GitHub gibi düzeltme denetimi sistemleriyle nasıl entegre edileceği ve kaynak koddan APK paketleri oluşturmak için Gradle derleme adımlarının nasıl ekleneceği açıklanmaktadır.
GitHub ve diğer revizyon kontrol sistemleriyle entegrasyon
Kaynak kodu yönetmek için GitHub veya başka bir düzeltme kontrol sistemi kullanıyorsanız kullanıyorsanız, Jenkins'i otomatik derlemeler çalıştıracak ve testler çalıştıracak şekilde yapılandırabilirsiniz uygulamanıza yapılan güncellemeler için bildirim alırsınız. Jenkins'i, derlemeleri düzenli olarak çalıştıracak şekilde de yapılandırabilirsiniz.
Jenkins'te derlemeleri yapılandırma hakkında bilgi edinmek için bkz. Otomatik derlemeleri yapılandırma.
APK paketlerini yeniden oluşturmak için Gradle derleme adımlarını ekleme
Uygulamanızın kaynak kodunu yönetmek için bir düzeltme kontrol sistemi kullanıyorsanız Jenkins her seferinde yeni APK ikili programları oluşturmak için bir Gradle derleme adımı eklemem gerekiyor kaynak kodu düzeltme kontrol sisteminizden indirir.
Uygulamanızın ana dizininde aşağıdaki komutları çalıştırmak için bir derleme adımı uygulama:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Test sırasında Gradle tarafından oluşturulan APK paketlerini kullanmak için bir derleme adımı ekleyin Test Lab ile birlikte. Bu yolu <local_server_path>; aşağıda verilen kabuk komut dosyası örneğinde Burada <AppKlasör> öğesine ilişkin Android Studio proje klasörüdür: uygulama:
<AppFolder>/app/build/outputs/apk
Jenkins'e Test Lab derleme adımı ekleyin
Artık Jenkins'e aşağıdakileri kullanarak Test Lab çalıştırmak için bir derleme adımı eklemeye hazırsınız: gcloud komut satırını kullanın.
gcloud derleme adımı eklemek için
- Projenizin ana sayfasında Yapılandır'ı tıklayın.
Proje yapılandırması sayfasında Derleme bölümüne ilerleyin. ve ardından Derleme adımı ekle menüsünden Kabuk çalıştır'ı seçin.
Jenkins Execute shell section (Kabuk komutunu çalıştır) penceresinde aşağıdakini girin: sunucu, uygulamanızın APK'sı için <app_apk> ve Uygulamanızın test APK'sı için <app_test_apk>:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Test sonuçlarını analiz etme
Test Lab, uygulamanızın testini tamamladıktan sonra testi inceleyebilirsiniz
Firebase konsolunda veya bir
Google Cloud Storage paketi içinde
akılda kalıcı bir yolunu sunar. Ayrıca bir
gsutil
komutunu
kabuk komutunu kullanın.
Daha fazla bilgi edinmek için bkz.
Firebase Test Lab Sonuçları Analiz Ediliyor.
Diğer CI sistemleriyle sürekli entegrasyon
Firebase Test Lab hizmetinin diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için şu sayfaya göz atın: hakkında daha fazla bilgi edinin: