Herhangi bir sürekli entegrasyon (CI) sistemini kullanarak uygulamanızı geliştirirken Firebase Test Lab'ı kullanabilirsiniz. Sürekli entegrasyon sistemleri, uygulama kaynak kodunuzdaki güncellemeleri her kontrol ettiğinizde uygulamanızı otomatik olarak oluşturup test etmenize olanak tanır.
Firebase Test Lab'ı Jenkins CI ile kullanma
Bu bölümde Test Lab'ın Jenkins CI ile nasıl kullanılacağı açıklanmaktadır.
Gereksinimler
Firebase Test Lab'ı Jenkins ile kullanabilmeniz için aşağıdaki adımları tamamlamanız gerekir:
Gcloud'u kurun. Bir Firebase projesi oluşturmak ve yerel Google Cloud SDK ortamınızı yapılandırmak için gcloud Komut Satırından Firebase Test Lab'ı Kullanma bölümündeki talimatları izleyin.
Bir hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları spam kontrollerine veya captcha istemlerine tabi değildir; aksi halde CI derlemeleriniz engellenebilir. Google Cloud Console'da Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve ardından bunu etkinleştirin (nasıl yapılacağını öğrenmek için gcloud auth active-service-account belgelerine 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'yi ve Cloud Tool Results API'yi etkinleştirin. Bu API'leri etkinleştirmek için konsolun üst kısmındaki arama kutusuna bu API adlarını yazın ve ardından söz konusu API'nin genel bakış sayfasında API'yi Etkinleştir'e tıklayın.
Jenkins'i yükleyin ve kurun
Jenkins CI'yı Linux veya Windows'a yükleyebilir ve kurabilirsiniz. Bu kılavuzun belirli ayrıntıları, dosya yollarında eğik çizgilerin ( /
) kullanımı da dahil olmak üzere, Jenkins CI'nın Linux'ta kurulumuna 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 bölümündeki talimatları izleyin. Jenkins'i yükledikten sonra, kurulumu tamamlamak ve Jenkins kontrol paneline erişmek için Jenkins'i Başlatma ve Jenkins'e Erişim bölümündeki talimatları izleyin.
Genel güvenlik ayarlarını yapılandırın
Jenkins, ilk kurulduğunda yapılandırılmış kullanıcı kimlik doğrulamasına ve erişim kontrolüne sahip değildir. Jenkins'i Firebase Test Lab ile kullanmadan önce erişim kontrolünü zorunlu kılmak ve kullanıcıların kimliklerini 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://<sunucuadı>:8080 adresine göz atın; burada <sunucuadı> , Jenkins'i kurduğunuz bilgisayarın adıdır.
- Jenkins kontrol panelinde Jenkins'i Yönet öğesine ve ardından Genel Güvenliği Yapılandır öğesine tıklayın.
- Genel Güvenliği Yapılandır sayfasında Güvenliği etkinleştir'e ve ardından Kaydet'e 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ızın Firebase Test Lab ile sürekli entegrasyon testini yürütmek için bir proje oluşturun.
Jenkins projesi oluşturmak için
- Sunucunuzdaki Jenkins kontrol paneline gidin. Bunu yapmak için http://<sunucuadı>:8080 adresine göz atın; burada <sunucuadı> , Jenkins'i kurduğunuz bilgisayarın adıdır.
- Jenkins kontrol panelinde Yeni Öğe'ye tıklayın.
- Öğe adı alanına projeniz için bir ad yazın:
- Tek bir yapı yapılandırması kullanan bir proje oluşturmak için Serbest Stil projesini seçin.
- Birden çok farklı yapı yapılandırmasında çalışan bir proje oluşturmak için Çoklu yapılandırma projesi oluştur'u seçin. Uygulamanızı çeşitli derleme yapılandırmalarıyla (birden fazla yerel ayar, birden çok Android API düzeyi vb.) oluşturmayı planlıyorsanız, çoklu yapılandırma projesi en iyi seçimdir.
- Kaydet'i tıklayın.
Projeniz oluşturulduktan sonra web tarayıcınız projenizin ana sayfasını görüntüler.
Revizyon kontrolü ve Gradle oluşturma adımları ekleyin
Bu bölümde Jenkins'in GitHub gibi revizyon kontrol 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
Uygulamanızın kaynak kodunu yönetmek için GitHub veya başka bir revizyon kontrol sistemi kullanıyorsanız Jenkins'i, uygulamanızdaki güncellemeler her kontrol edildiğinde otomatik derlemeler çalıştıracak ve testler çalıştıracak şekilde yapılandırabilirsiniz. Ayrıca Jenkins'i, derlemeleri düzenli aralıklarla çalıştıracak şekilde de yapılandırabilirsiniz.
Jenkins'te yapıların yapılandırılması hakkında bilgi edinmek için bkz. Otomatik yapıların yapılandırılması .
APK paketlerini yeniden oluşturmak için Gradle oluşturma adımları ekleme
Uygulamanızın kaynak kodunu yönetmek için bir revizyon kontrol sistemi kullanıyorsanız Jenkins, revizyon kontrol sisteminizden kaynak kodunu her 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 yaparken Gradle tarafından oluşturulan APK paketlerini kullanmak için bir derleme adımı ekleyin. Aşağıda verilen kabuk komut dosyası örneğinde bu yolu <local_server_path> olarak kullanabilirsiniz; burada <AppFolder> , uygulamanızın Android Studio proje klasörüdür:
<AppFolder>/app/build/outputs/apk
Jenkins'e Test Laboratuvarı oluşturma adımlarını 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.
Bir gcloud derleme adımı eklemek için
- Projenizin ana sayfasında Yapılandır'a tıklayın.
Proje yapılandırma sayfasında Derleme bölümüne ilerleyin ve ardından Derleme adımı ekle menüsünden Kabuğu çalıştır'ı seçin.
Jenkins Execute kabuk komut penceresinde, sunucudaki örnek uygulamanın yolu yerine <local_server_path> , uygulamanızın APK'sı için <app_apk> ve uygulamanızın test APK'sı yerine <app_test_apk> koyarak aşağıdakini 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 edin
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 gsutil
komutunu da ekleyebilirsiniz. Daha fazla bilgi edinmek için Firebase Test Laboratuvarı Sonuçlarını Analiz Etme bölümüne bakın.
Diğer CI sistemleriyle sürekli entegrasyon
Firebase Test Lab'ın diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için belgelerine göz atın: