Uygulamanızı herhangi bir sürekli entegrasyon (CI) sistemi kullanarak geliştirirken Firebase Test Lab'ü kullanabilirsiniz. Sürekli entegrasyon sistemleri, uygulamanızın kaynak kodunda güncelleme yaptığınızda her seferinde uygulamanızı otomatik olarak derleyip test etmenize olanak tanır.
Jenkins CI ile Firebase Test Lab'ü kullanma
Bu bölümde, Test Lab'ün Jenkins CI ile nasıl kullanılacağı açıklanmaktadır.
Ş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ı, spam kontrollerine veya captcha istemlerine tabi değildir. Bu durum, CI derlemelerinizi engelleyebilir. Google Cloud Konsolu'nda Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve ardından hesabı etkinleştirin (Nasıl yapılacağını öğrenmek için gcloud auth activate-service-account dokümanlarına 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. Bu API'leri etkinleştirmek için API adlarını konsolun üst kısmındaki arama kutusuna yazın ve ilgili API'nin genel bakış sayfasında API'yi etkinleştir'i tıklayın.
Jenkins'i yükleme ve ayarlama
Jenkins CI'yi Linux veya Windows'a yükleyip kurabilirsiniz. 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 (Jenkins'i Yönet)'i ve ardından Configure Global Security'i (Genel Güvenliği Yapılandır) tıklayın.
- 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 Hızlı ve Basit Güvenlik, Standart Güvenlik Kurulumu ve Jenkins'in güvenliğini sağlama başlıklı makaleleri inceleyin.
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
- 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 Yeni Öğe'yi 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.
- Birden fazla farklı derleme yapılandırmasında çalışan bir proje oluşturmak için Çok yapılandırmalı proje oluştur'u seçin. Uygulamanızı çeşitli derleme yapılandırmalarıyla (birden fazla yerel ayar, birden fazla Android API düzeyi vb.) oluşturmayı planlıyorsanız en iyi seçenek çok yapılandırmalı bir projedir.
- Kaydet'i tıklayın.
Projeniz oluşturulduktan sonra web tarayıcınız projenizin ana sayfasını gösterir.
Düzeltme denetimi ve Gradle derleme adımlarını ekleyin
Bu bölümde, Jenkins'i GitHub gibi düzeltme kontrol sistemleriyle entegre etme ve kaynak kodundan APK paketleri oluşturmak için Gradle derleme adımları ekleme açıklanmaktadır.
GitHub ve diğer revizyon kontrol sistemleriyle entegrasyon
Uygulamanızın kaynak kodunu yönetmek için GitHub'ı veya başka bir düzeltme denetimi sistemini kullanıyorsanız Jenkins'i, uygulamanızdaki güncellemeler her kontrol edildiğinde otomatik derlemeler ve testler çalıştıracak şekilde yapılandırabilirsiniz. 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 Otomatik derlemeleri yapılandırma bölümüne bakın.
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 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 Lab ile test ederken Gradle tarafından oluşturulan APK paketlerini kullanmak için bir derleme adımı ekleyin. 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 gcloud komut satırını kullanarak Test Lab'ü çalıştırmak için Jenkins'e bir derleme adımı eklemeye hazırsınız.
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 gidin ve Derleme adımı ekle menüsünden Kabuk çalıştır'ı seçin.
Jenkins Kabuk komutunu yürütme penceresinde, sunucudaki örnek uygulamanın yolu yerine <local_server_path> kısmını, uygulamanızın APK'sı için <app_apk> ve uygulamanızın test APK'sı için <app_test_apk> kısmını kullanarak aşağıdaki kodu girin:
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 test sonuçlarını Firebase konsolunda veya projenizdeki bir Google Cloud Storage paketinde inceleyebilirsiniz. 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 Firebase Test Lab Sonuçlarını Analiz Etme başlıklı makaleyi inceleyin.
Diğer CI sistemleriyle sürekli entegrasyon
Firebase Test Lab hizmetinin diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için belgelerine göz atın: