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

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:

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

  2. Bir hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları spam kontrollerine veya captcha istemlerine tabi değildir; aksi halde CI derlemeleriniz engellenebilir. Google Cloud konsolunda 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).

  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'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

  1. 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.
  2. Jenkins kontrol panelinde Jenkins'i Yönet öğesine ve ardından Genel Güvenliği Yapılandır öğesine tıklayın.
  3. 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

  1. 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.
  2. Jenkins kontrol panelinde Yeni Öğe'ye tıklayın.
  3. Öğ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.
  4. 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.

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

  1. Projenizin ana sayfasında Yapılandır'a tıklayın.
  2. 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.

  3. 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'in diğer CI sistemleriyle nasıl kullanılacağını öğrenmek için belgelerine göz atın: