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. Şu adresteki talimatları uygulayın: gcloud Komut Satırından Firebase Test Lab kullanma Firebase projesi oluşturun ve yerel Google Cloud SDK'nızı yapılandırın bahsedeceğim.
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ı, 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. Projenin belirli detayları
Bu kılavuz, Linux'ta Jenkins CI'yı yükleme ve çalıştırmaya özeldir. Örneğin,
dosya yollarında eğik çizgi (/
) kullanımı.
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. Şu tarihten sonra: talimatları uygulayın: Jenkins'i Başlatma ve Erişme tıklayı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)
- Configure Global Security (Genel Güvenliği Yapılandır) sayfasında, Enable Security (Güvenliği etkinleştir) seçeneğini tıklayın ve ve 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, uygulamanızda sürekli entegrasyon testi çalıştırmak için bir proje oluşturun Firebase Test Lab ile birlikte.
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 kullanan bir proje oluşturmak için Freestyle project'i (Serbest stil projesi) seçin yapılandırma.
- 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 düzeltme kontrol sistemleriyle nasıl entegre edileceği açıklanmaktadır ve APK paketleri oluşturmak için Gradle derleme adımlarını ekleme diğeri ise kaynak kodundan farklıdı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. Ayrıca, Jenkins'in derlemeleri düzenli olarak çalıştırması için.
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 şunu 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: