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

Uygulamanızı herhangi bir sürekli entegrasyon (CI) sistemi kullanarak geliştirirken Firebase Test Lab'ü kullanabilirsiniz. Sürekli entegrasyon sistemleri, uygulamanızın kaynak kodunda güncelleme yaptığınızda her seferinde uygulamanızı otomatik olarak derleyip test etmenize olanak tanır.

Jenkins CI ile Firebase Test Lab'ü kullanma

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

Şartlar

Firebase Test Lab'ü Jenkins ile kullanabilmek için aşağıdaki adımları tamamlamanız gerekir:

  1. gcloud'u kurun. gcloud Komut Satırından Firebase Test Lab Kullanma başlıklı makaledeki talimatları uygulayarak Firebase projesi oluşturun ve yerel Google Cloud SDK ortamınızı yapılandırın.

  2. Hizmet hesabı oluşturun ve yetkilendirin. Hizmet hesapları, CI derlemelerinizi engelleyebilecek spam kontrollerine veya CAPTCHA istemlerine tabi değildir. Google Cloud Konsolu'nda Düzenleyici rolüne sahip bir hizmet hesabı oluşturun ve ardından hesabı etkinleştirin (Nasıl yapılacağını öğrenmek için gcloud auth activate-service-account dokümanlarına 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 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 ilgili API'nin genel bakış sayfasında API'yi etkinleştir'i tıklayın.

Jenkins'i yükleme ve ayarlama

Jenkins CI'yi Linux veya Windows'a yükleyip kurabilirsiniz. Bu kılavuzun belirli ayrıntıları, dosya yollarında eğik çizgi (/) kullanımı da dahil olmak üzere Jenkins CI'nin Linux'ta yüklenmesine 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 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şim başlıklı makaledeki 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 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

  1. Sunucunuzdaki 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önet) ve ardından Configure Global Security'i (Genel Güvenliği Yapılandır) tıklayın.
  3. Genel güvenliği yapılandır sayfasında Güvenliği etkinleştir'i, ardından Kaydet'i 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'i Güvende Tutma 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

  1. Sunucunuzdaki 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 Yeni Öğe'yi 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 Serbest proje'yi seçin.
    • Birden fazla farklı derleme yapılandırmasında çalışan bir proje oluşturmak için Çok yapılandırmalı proje 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 en iyi seçim çok yapılandırmalı bir projedir.
  4. Kaydet'i tıklayın.

Projeniz oluşturulduktan sonra web tarayıcınız projenizin ana sayfasını gösterir.

Düzeltme 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 denetimi sistemini kullanıyorsanız Jenkins'i, uygulamanızdaki 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 oluşturmak 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 kod 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 ederken 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. Bu örnekte <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

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

  3. Jenkins Kabuk komutunu çalıştır penceresine aşağıdaki komutu girin. Komuttaki <local_server_path> ifadesini sunucuda örnek uygulamanın yolu, <app_apk> ifadesini uygulamanızın APK'si ve <app_test_apk> ifadesini uygulamanızın test APK'si ile değiştirin:

    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 edinmek 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'ü diğer CI sistemleriyle nasıl kullanacağınızı öğrenmek için ilgili dokümanlara göz atın: