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

Uygulamanızı geliştirirken sürekli entegrasyon (CI) sistemine geçelim. Sürekli entegrasyon sistemleri, uygulamanızı derleyip test edebilirsiniz.

Firebase Test Lab'i Jenkins CI ile Kullanma

Bu bölümde, Test Lab'in Jenkins CI.

Şartlar

Firebase Test Lab'i Jenkins ile kullanmadan önce şu adımları uygulayın:

  1. gcloud'u kurun. Şu adresteki talimatları uygulayın: gcloud Komut Satırından Firebase Test Lab'i Kullanma Firebase projesi oluşturun ve yerel Google Cloud SDK'nızı yapılandırın bahsedeceğim.

  2. Bir hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları şuna tabi değildir: CI'nızı engelleyebilecek spam kontrollerine veya captcha istemlerine inşa eder. Şurada Düzenleyici rolüne sahip olan bir hizmet hesabı oluşturun: Google Cloud konsolu ve ardından etkinleştirebilirim. (gcloud authactivate-service-account belgelerine bakın bakın).

  3. Gerekli API'leri etkinleştirin. Hizmet hesabını kullanarak giriş yaptıktan sonra: Google Developers Console API Kitaplığı sayfası, Google Cloud Testing API ve Cloud Tool Results API'yi etkinleştirin. Alıcı: bu API'leri etkinleştirmek istiyorsanız, bu API adlarını sayfanın üst kısmındaki arama kutusuna konsolu ve ardından söz konusu 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. Projenin belirli detayları Bu kılavuz, Linux'ta Jenkins CI'yı yükleme ve çalıştırmaya özeldir. Örneğin, dosya yollarında eğik çizgi (/) kullanımı.

Jenkins'i Linux veya Windows çalıştıran bir bilgisayara indirip yüklemek için aşağıdaki adımları uygulayın: Kurulum talimatlarını Jenkins. Şu tarihten sonra: talimatları uygulayın: Jenkins'i Başlatma ve Erişme tıklayın.

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

Jenkins, ilk olarak yüklenir. Firebase Test Lab ile Jenkins'i kullanmadan önce Erişim denetimini ve kimlik doğrulamasını zorunlu kılmak için kullanılan genel güvenlik ayarları yardımcı olur.

Genel güvenlik ayarlarını yapılandırmak için:

  1. Sunucunuzda Jenkins kontrol paneline gidin. Bunu yapmak için şuraya gidin: http://<sunucuadı>:8080, burada <sunucuadı>, addır. yüklediğiniz bilgisayarda açın.
  2. Jenkins kontrol panelinde, Manage Jenkins'i (Jenkins'i Yönet) tıklayın. Configure Global Security (Genel Güvenliği Yapılandır)
  3. Configure Global Security (Genel Güvenliği Yapılandır) sayfasında, Enable Security (Güvenliği etkinleştir) seçeneğini tıklayın ve ve ardından Kaydet'i 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ızda sürekli entegrasyon testi çalıştırmak için bir proje oluşturun test edin.

Jenkins projesi oluşturmak için

  1. Sunucunuzda Jenkins kontrol paneline gidin. Bunu yapmak için şuraya gidin: http://<sunucuadı>:8080, burada <sunucuadı>, addır. yüklediğiniz bilgisayarda açın.
  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 kullanan bir proje oluşturmak için Freestyle project'i (Serbest stil projesi) seçin yapılandırma.
    • Build çoklu configuration project'i (Çoklu yapılandırma projesi oluştur) seçin birçok farklı derleme yapılandırmasında çalışır. Bir web sitesi uygulamanızı çeşitli derleme yapılandırmaları (birden fazla yerel ayar, birden çok Android API düzeyi vb.) varsa çoklu yapılandırma projesi en iyi seçenek.
  4. Kaydet'i tıklayın.

Projeniz oluşturulduktan sonra web tarayıcınız belirler.

Düzeltme denetimi ve Gradle derleme adımlarını ekleyin

Bu bölümde Jenkins'in düzeltme kontrol sistemleriyle nasıl entegre edileceği açıklanmaktadır ve APK paketleri oluşturmak için Gradle derleme adımlarını ekleme diğeri ise kaynak kodundan farklıdır.

GitHub ve diğer revizyon kontrol sistemleriyle entegrasyon

Kaynak kodu yönetmek için GitHub veya başka bir düzeltme kontrol sistemi kullanıyorsanız kullanıyorsanız, Jenkins'i otomatik derlemeler çalıştıracak ve testler çalıştıracak şekilde yapılandırabilirsiniz uygulamanıza yapılan güncellemeler için bildirim alırsınız. Ayrıca, Jenkins'in derlemeleri periyodik olarak çalıştırması gerekir.

Jenkins'te derlemeleri yapılandırma hakkında bilgi edinmek için bkz. Otomatik derlemeleri yapılandırma.

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 kontrol sistemi kullanıyorsanız Jenkins her seferinde yeni APK ikili programları oluşturmak için bir Gradle derleme adımı eklemem gerekiyor kaynak kodu düzeltme kontrol sisteminizden indirir.

  1. Uygulamanızın ana dizininde aşağıdaki komutları çalıştırmak için bir derleme adımı uygulama:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    
    .

  2. Test sırasında Gradle tarafından oluşturulan APK paketlerini kullanmak için bir derleme adımı ekleyin test edin. Bu yolu <local_server_path>; aşağıda verilen kabuk komut dosyası örneğinde Burada <AppKlasör> öğesine ilişkin Android Studio proje klasörüdür: uygulama:

    <AppFolder>/app/build/outputs/apk
    

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

Artık Jenkins'e bir derleme adımı ekleyerek Test Lab'i çalıştırmak için gcloud komut satırını kullanın.

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. ve ardından Derleme adımı ekle menüsünden Kabuk çalıştır'ı seçin.

  3. Jenkins Execute shell section (Kabuk komutunu çalıştır) penceresinde aşağıdakini girin: sunucu, uygulamanızın APK'sı için <app_apk> ve Uygulamanızın test APK'sı için <app_test_apk>:

    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 testi inceleyebilirsiniz Firebase konsolunda veya bir Google Cloud Storage paketi akılda kalıcı bir yolunu sunar. Ayrıca bir gsutil komutunu kabuk komutunu kullanın. Daha fazla bilgi edinmek için bkz. Firebase Test Lab Sonuçlarını Analiz Etme.

Diğer CI sistemleriyle sürekli entegrasyon

Firebase Test Lab'in diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için şu sayfaya göz atın: hakkında daha fazla bilgi edinin: