Sürekli entegrasyon (CI) sistemleriyle test yapmaya başlayın

Herhangi bir sürekli entegrasyon (CI) sistemi kullanarak uygulamanızı geliştirirken Firebase Test Lab'i kullanabilirsiniz. Sürekli entegrasyon sistemleri, uygulama kaynak kodunuzdaki güncellemeleri her kontrol ettiğinizde uygulamanızı otomatik olarak derleyip test etmenize olanak tanır.

Firebase Test Lab'i Jenkins CI ile Kullanma

Bu bölümde, Test Lab'in Jenkins CI ile nasıl kullanılacağı açıklanmaktadır.

Şartlar

Firebase Test Lab'i Jenkins ile kullanmadan önce aşağıdaki adımları tamamlamanız gerekir:

  1. 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'i Kullanma bölümündeki talimatları uygulayın.

  2. Bir hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları, spam kontrollerine veya captcha istemlerine tabi değildir. Bu durum, CI derlemelerinizi engelleyebilir. Google Cloud Console'da Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve bu hesabı etkinleştirin (nasıl yapılacağını öğrenmek için gcloud auth activate-service-account dokümanlarına göz atın).

  3. 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 bu 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 bazı ayrıntıları, dosya yollarında eğik çizgi (/) kullanımı da dahil olmak üzere Linux'ta Jenkins CI'nın yüklenmesi ve çalıştırılmasıyla ilgilidir.

Jenkins'i Linux veya Windows çalıştıran bir bilgisayara indirip yüklemek için Jenkins'i Yükleme bölümündeki talimatları uygulayın. Jenkins'i yükledikten sonra kurulumu tamamlamak ve Jenkins kontrol paneline erişmek için Jenkins'i Başlatma ve Erişme sayfasındaki talimatları uygulayın.

Genel güvenlik ayarlarını yapılandırma

Jenkins, ilk yüklendiğinde kullanıcı kimlik doğrulaması ve erişim denetimine sahip değildir. Firebase Test Lab ile Jenkins'i 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:

  1. 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.
  2. Jenkins kontrol panelinde, Manage Jenkins'i (Jenkins'i Yönetin) tıklayıpConfigure Global Security'yi (Genel Güvenliği Yapılandır) tıklayın.
  3. Configure Global Security (Genel Güvenliği Yapılandır) sayfasında, Enable Security (Güvenliği etkinleştir) seçeneğini ve ardından Save'i (Kaydet) 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 sayfalarına göz atın.

Jenkins projesi oluşturma

Şimdi, Firebase Test Lab ile uygulamanızda sürekli entegrasyon testi çalıştırmak için bir proje oluşturun.

Jenkins projesi oluşturmak için

  1. 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.
  2. Jenkins kontrol panelinde New Item (Yeni Öğe) seçeneğini tıklayın.
  3. Öğ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 seçin.
    • Birden fazla farklı derleme yapılandırmasında çalışan bir proje oluşturmak için Build çoklu configuration project'i (Çoklu yapılandırma projesi oluştur) seçin. Uygulamanızı çeşitli derleme yapılandırmaları (birden fazla yerel ayar, birden fazla Android API düzeyi vb.) kullanarak derlemeyi planlıyorsanız çok yapılandırmalı bir proje en iyi seçenektir.
  4. Kaydet'i tıklayın.

Projeniz oluşturulduktan sonra web tarayıcınız projenizin ana sayfasını görüntüler.

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 kontrol sistemi kullanıyorsanız Jenkins'i, uygulamanızdaki her güncelleme için otomatik derlemeler çalıştıracak 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 düzeltme kontrol sistemi kullanıyorsanız Jenkins düzeltme kontrol sisteminizden her kaynak kodu indirdiğinde yeni APK ikili programları oluşturmak için bir Gradle derleme adımı eklemeniz gerekir.

  1. 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
    

  2. Test Lab ile test yaparken 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. Burada <AppKlasör>, uygulamanızın Android Studio proje klasörüdür:

    <AppFolder>/app/build/outputs/apk
    

Test Lab derleme adımlarını Jenkins'e ekleyin

Artık gcloud komut satırını kullanarak Test Lab'i çalıştırmak için Jenkins'e bir derleme adımı eklemeye hazırsınız.

gcloud derleme adımı eklemek için

  1. Projenizin ana sayfasında Yapılandır'ı tıklayın.
  2. Proje yapılandırması sayfasında Derleme bölümüne ilerleyin. Ardından Derleme adımı ekle menüsünden Kabuk çalıştır'ı seçin.

  3. Jenkins Kabuk komutunu yürütme penceresinde sunucudaki örnek uygulamanın yolunu <local_server_path>, uygulamanızın APK'sı için <app_apk> ve uygulamanızın test APK'sı için <app_test_apk> ekleyerek 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 için Firebase Test Lab Sonuçlarını Analiz Etme bölümünü inceleyin.

Diğer CI sistemleriyle sürekli entegrasyon

Firebase Test Lab'in diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için ilgili belgelerine göz atın: