Herhangi bir sürekli entegrasyon (CI) sistemi kullanarak uygulamanızı geliştirirken Firebase Test Lab aracını 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 aracının Jenkins CI ile nasıl kullanılacağı açıklanmaktadır.
Şartlar
Firebase Test Lab aracını Jenkins ile kullanabilmek için aşağıdaki adımları tamamlamanız gerekir:
gcloud'u kurun. 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şturma ve yetkilendirme Hizmet hesapları, spam kontrollerine veya captcha istemlerine tabi değildir. Bu sayede CI derlemeleriniz engellenmez. Google Cloud konsolunda Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve ardından bu hesabı etkinleştirin (nasıl yapacağınızı öğrenmek için gcloud auth activate-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 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 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ın Linux'ta yüklenmesi ve çalıştırılmasına özeldir.
Linux veya Windows çalıştıran bir bilgisayara Jenkins'i indirip yüklemek için Installing Jenkins (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şme bölümündeki talimatları uygulayın.
Genel güvenlik ayarlarını yapılandırma
Jenkins ilk 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. Bunun için http://<sunucuadı>:8080 adresine gidin. Burada <sunucuadı>, 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 için güvenlik ayarlarını yapılandırma hakkında daha fazla bilgi edinmek üzere 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. Bunun için http://<sunucuadı>:8080 adresine gidin. Burada <sunucuadı>, 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 Freestyle project'i (Serbest stil proje) 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.) derlemeyi planlıyorsanız çoklu yapılandırma projesi en iyi seçenektir.
- Kaydet'i tıklayın.
Projeniz oluşturulduktan sonra web tarayıcınızda projenizin ana sayfası gösterilir.
Sürüm 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 düzeltme kontrol sistemleriyle entegrasyon
Uygulamanızın kaynak kodunu yönetmek için GitHub veya başka bir düzeltme 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 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 başlıklı makaleyi inceleyin.
APK paketlerini yeniden derlemek 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 kodunu her indirdiğinde yeni APK ikili programları 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ımı ekleyin
Artık gcloud komut satırını kullanarak Test Lab uygulamasını ç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 Configure'u (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 Kabuğu çalıştır'ı seçin.
Jenkins Execute shell command penceresinde, <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ı yazarak aşağıdakileri 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 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 aracını diğer CI sistemleriyle nasıl kullanacağınızı öğrenmek için ilgili sistemlerin dokümanlarına göz atın: