Uygulamanızı geliştirirken Firebase Test Lab entegrasyon (CI) sistemine geçelim. Sürekli entegrasyon sistemleri, uygulamanızın kaynak kodunda güncelleme yaptığınızda uygulamanızı otomatik olarak derleyip test etmenize olanak tanır.
Jenkins CI ile Firebase Test Lab'ü kullanma
Bu bölümde, Test Lab özelliğinin Jenkins CI.
Şartlar
Firebase Test Lab'ü Jenkins ile kullanabilmek için aşağıdaki adımları tamamlamanız gerekir:
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.
Hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları, CI derlemelerinizi engelleyebilecek spam kontrollerine veya CAPTCHA istemlerine tabi değildir. Şurada Düzenleyici rolüne sahip olan bir hizmet hesabı oluşturun: Google Cloud konsolu ve ardından etkinleştirebilirim. (gcloud authactivate-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 Jenkins'i yükleme başlıklı makaledeki talimatları uygulayın. 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 kez yüklendiğinde kullanıcı kimlik doğrulaması ve erişim denetimi yapılandırılmamıştır. Jenkins'i Firebase Test Lab ile kullanmadan önce, erişim denetimini zorunlu kılmak ve kullanıcıların kimliğini doğrulamak için genel güvenlik ayarlarını yapılandırın.
Genel güvenlik ayarlarını yapılandırmak için
- Sunucunuzdaki Jenkins kontrol paneline gidin. Bunu yapmak için http://<servername>:8080 adresine gidin. Burada <servername>, Jenkins'i yüklediğiniz bilgisayarın adıdır.
- 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 http://<servername>:8080 adresine gidin. Burada <servername>, Jenkins'i yüklediğiniz bilgisayarın adıdır.
- Jenkins kontrol panelinde Yeni Öğe'yi 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 kontrolü ve Gradle derleme adımları ekleme
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 her güncelleme yapıldığında otomatik olarak güncellenir. Ayrıca, Jenkins'in derlemeleri periyodik olarak çalıştırması gerekir.
Jenkins'te derlemeleri yapılandırma hakkında bilgi edinmek için Otomatik derlemeleri yapılandırma başlıklı makaleyi inceleyin.
APK paketlerini yeniden oluşturmak için Gradle derleme adımları ekleme
Uygulamanızın kaynak kodunu yönetmek için bir düzeltme denetimi sistemi kullanıyorsanız Jenkins, düzeltme denetimi sisteminizden kaynak kod indirdiğinde yeni APK ikili dosyaları oluşturmak için bir Gradle derleme adımı eklemeniz gerekir.
Uygulamanızın ana dizininde aşağıdaki komutları çalıştırmak için bir derleme adımı ekleyin:
./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, aşağıda verilen kabuk komut dosyası örneğinde <local_server_path> olarak kullanabilirsiniz. Bu örnekte <AppFolder>, uygulamanızın Android Studio proje klasörüdür:
<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. Test sonuçları verilerini yerel bilgisayarınıza kopyalamak için yukarıda gösterilen kabuk komutuna bir gsutil
komutu da ekleyebilirsiniz.
Daha fazla bilgi edinmek için bkz.
Firebase Test Lab Sonuçları Analiz Ediliyor.
Diğer CI sistemleriyle sürekli entegrasyon
Firebase Test Lab'ü diğer CI sistemleriyle nasıl kullanacağınızı öğrenmek için ilgili dokümanlara göz atın: