Sürekli entegrasyon (CI) sistemi kullanarak uygulamanızı geliştirirken Firebase Test Lab'ı kullanabilirsiniz. Sürekli entegrasyon sistemleri, uygulama kaynak kodunuzda güncellemeleri her kontrol ettiğinizde uygulamanızı otomatik olarak derlemenize ve test etmenize olanak tanır.
Jenkins CI ile Firebase Test Lab kullanma
Bu bölümde, Test Lab ile Jenkins CI'nın nasıl kullanılacağı açıklanmaktadır.
Şartlar
Firebase Test Lab'yı Jenkins ile kullanabilmek için aşağıdaki adımları tamamlamanız gerekir:
gcloud'u ayarlayın. 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 başlıklı makaledeki talimatları uygulayın.
Hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları, aksi takdirde CI derlemelerinizi engelleyebilecek spam kontrollerine veya captcha istemlerine tabi değildir. Google Cloud konsolunda Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve ardından bu 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 konsolun üst kısmındaki arama kutusuna bu API adlarını yazın ve ardından ilgili API'nin genel bakış sayfasında API'yi etkinleştir'i tıklayın.
Jenkins'i yükleme ve ayarlama
Jenkins CI'yı Linux veya Windows'a yükleyip kurabilirsiniz. Bu kılavuzdaki bazı ayrıntılar, dosya yollarında eğik çizgi (/
) kullanımı da dahil olmak üzere Jenkins CI'ın Linux'a yüklenmesi ve Linux'ta çalıştırılmasına özeldir.
Jenkins'i Linux veya Windows çalıştıran bir bilgisayara indirmek ve yüklemek için Jenkins'i yükleme sayfasındaki 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şme bölümündeki 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 kontrolü yapılandırılmaz. Jenkins'i Firebase Test Lab ile kullanmadan önce erişim kontrolünü 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:
- 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 Manage Jenkins'i (Jenkins'i Yönet) ve ardından Configure Global Security'yi (Genel Güvenliği Yapılandır) tıklayın.
- Configure Global Security (Genel Güvenliği Yapılandır) sayfasında Enable security'yi (Güvenliği etkinleştir) ve ardından Save'i (Kaydet) tıklayın.
Jenkins'te güvenlik ayarlarını yapılandırma hakkında daha fazla bilgi için Quick and Simple Security (Hızlı ve Basit Güvenlik), Standard Security Setup (Standart Güvenlik Kurulumu) ve Securing Jenkins (Jenkins'i Güvenli Hale Getirme) başlıklı makaleleri inceleyin.
Jenkins projesi oluşturma
Ardından, uygulamanızın Firebase Test Lab ile 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 New Item'ı (Yeni Öğe) 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 stil proje'yi seçin.
- Birden fazla farklı derleme 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 fazla Android API düzeyi vb.) oluşturmayı planlıyorsanız çok yapılandırmalı proje en iyi seçenektir.
- Kaydet'i tıklayın.
Projeniz oluşturulduktan sonra web tarayıcınız projenizin ana sayfasını gösterir.
Revizyon kontrolü ve Gradle derleme adımları ekleme
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ızda yapılan güncellemeler her kontrol edildiğinde otomatik derlemeler ve testler çalıştıracak şekilde yapılandırabilirsiniz. Jenkins'i düzenli olarak derleme ç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 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 revizyon kontrol sistemi kullanıyorsanız Jenkins, revizyon kontrol sisteminizden kaynak kodu her indirdiğinde yeni APK ikilileri 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ğıdaki kabuk komut dosyası örneğinde <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 Lab derleme adımları ekleme
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 yürüt'ü seçin.
Jenkins Execute shell command (Jenkins Kabuk komutunu yürüt) penceresinde aşağıdaki komutu girin. <local_server_path> yerine sunucudaki örnek uygulamanın yolunu, <app_apk> yerine uygulamanızın APK'sını ve <app_test_apk> yerine uygulamanızın test APK'sını 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 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 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'yı diğer CI sistemleriyle nasıl kullanacağınızı öğrenmek için bu sistemlerin dokümanlarına göz atın: