เริ่มการทดสอบด้วยระบบการรวมอย่างต่อเนื่อง (CI)

คุณสามารถใช้ Firebase Test Lab เมื่อพัฒนาแอปโดยใช้ระบบการผสานรวมอย่างต่อเนื่อง (CI) ระบบการผสานรวมอย่างต่อเนื่องช่วยให้คุณสร้างและทดสอบแอปโดยอัตโนมัติทุกครั้งที่คุณตรวจสอบการอัปเดตซอร์สโค้ดของแอป

การใช้ Firebase Test Lab กับ Jenkins CI

ส่วนนี้อธิบายวิธีใช้ Test Lab กับ Jenkins CI

ความต้องการ

ก่อนที่คุณจะสามารถใช้ Firebase Test Lab กับ Jenkins คุณต้องทำตามขั้นตอนต่อไปนี้:

  1. ตั้งค่า gcloud ทำตามคำแนะนำจาก การใช้ Firebase Test Lab จากบรรทัดคำสั่ง gcloud เพื่อสร้างโครงการ Firebase และกำหนดค่าสภาพแวดล้อม Google Cloud SDK ในเครื่องของคุณ

  2. สร้างและอนุญาตบัญชีบริการ บัญชีบริการไม่อยู่ภายใต้การตรวจสอบสแปมหรือข้อความแจ้ง Captcha ซึ่งอาจบล็อกการสร้าง CI ของคุณได้ สร้างบัญชีบริการที่มีบทบาท Editor ใน Google Cloud Console จากนั้นเปิดใช้งาน (ดูวิธี การเปิดใช้งาน gcloud auth-service-account documentation )

  3. เปิดใช้งาน API ที่จำเป็น หลังจากลงชื่อเข้าใช้ด้วยบัญชีบริการ: ใน หน้า Google Developers Console API Library ให้เปิดใช้งาน Google Cloud Testing API และ Cloud Tool Results API ในการเปิดใช้งาน API เหล่านี้ ให้พิมพ์ชื่อ API เหล่านี้ลงในช่องค้นหาที่ด้านบนของคอนโซล จากนั้นคลิก เปิดใช้งาน API บนหน้าภาพรวมของ API นั้น

ติดตั้งและตั้งค่าเจนกินส์

คุณสามารถติดตั้งและตั้งค่า Jenkins CI บน Linux หรือ Windows รายละเอียดบางประการของคู่มือนี้มีไว้สำหรับการติดตั้งและใช้งาน Jenkins CI บน Linux โดยเฉพาะ รวมถึงการใช้เครื่องหมายทับ ( / ) ในเส้นทางไฟล์

หากต้องการดาวน์โหลดและติดตั้ง Jenkins บนคอมพิวเตอร์ที่ใช้ Linux หรือ Windows ให้ทำตามคำแนะนำใน การติดตั้ง Jenkins หลังจากติดตั้ง Jenkins ให้ทำตามคำแนะนำใน การเริ่มต้นและการเข้าถึง Jenkins เพื่อดำเนินการติดตั้งและเข้าถึงแดชบอร์ดของ Jenkins

กำหนดการตั้งค่าความปลอดภัยส่วนกลาง

Jenkins ไม่มีการกำหนดค่าการตรวจสอบผู้ใช้และการควบคุมการเข้าถึงเมื่อติดตั้งครั้งแรก ก่อนใช้ Jenkins กับ Firebase Test Lab ให้กำหนดการตั้งค่าความปลอดภัยส่วนกลางเพื่อบังคับใช้การควบคุมการเข้าถึงและตรวจสอบสิทธิ์ผู้ใช้

เพื่อกำหนดการตั้งค่าความปลอดภัยส่วนกลาง

  1. ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ ในการทำเช่นนี้ ให้เรียกดู http://<servername>:8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณติดตั้ง Jenkins
  2. บนแดชบอร์ด Jenkins ให้คลิก Manage Jenkins จากนั้นคลิก Configure Global Security
  3. ในหน้า Configure Global Security ให้คลิก Enable security แล้วคลิก Save

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดการตั้งค่าความปลอดภัยสำหรับ Jenkins โปรดดูที่ Quick and Simple Security , Standard Security Setup และ Securing Jenkins

สร้างโครงการเจนกินส์

จากนั้น สร้างโปรเจ็กต์สำหรับเรียกใช้การทดสอบการผสานรวมอย่างต่อเนื่องกับแอปของคุณด้วย Firebase Test Lab

เพื่อสร้างโครงการเจนกินส์

  1. ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ ในการทำเช่นนี้ ให้เรียกดู http://<servername>:8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณติดตั้ง Jenkins
  2. บนแดชบอร์ด Jenkins ให้คลิก รายการใหม่
  3. พิมพ์ชื่อโครงการของคุณในช่อง ชื่อสินค้า :
    • เลือก โครงการ Freestyle เพื่อสร้างโครงการที่ใช้การกำหนดค่าบิลด์เดียว
    • เลือก สร้างโปรเจ็กต์การกำหนดค่าหลายรายการ เพื่อสร้างโปรเจ็กต์ที่ทำงานบนการกำหนดค่าบิลด์ที่แตกต่างกันหลายรายการ หากคุณวางแผนที่จะสร้างแอปของคุณด้วยการกำหนดค่าบิลด์ที่หลากหลาย (หลายภาษา หลายระดับ API ของ Android ฯลฯ) โครงการที่มีการกำหนดค่าหลายรายการจะเป็นตัวเลือกที่ดีที่สุด
  4. คลิก บันทึก

หลังจากสร้างโครงการของคุณแล้ว เว็บเบราว์เซอร์ของคุณจะแสดงหน้าหลักสำหรับโครงการของคุณ

เพิ่มการควบคุมการแก้ไขและขั้นตอนการสร้าง Gradle

ส่วนนี้อธิบายวิธีรวม Jenkins กับระบบควบคุมการแก้ไข เช่น GitHub และวิธีเพิ่มขั้นตอนการสร้าง Gradle เพื่อสร้างแพ็คเกจ APK จากซอร์สโค้ด

การผสานรวมกับ GitHub และระบบควบคุมการแก้ไขอื่น ๆ

หากคุณใช้ GitHub หรือระบบควบคุมการแก้ไขอื่นๆ เพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณ คุณสามารถกำหนดค่า Jenkins ให้เรียกใช้บิลด์อัตโนมัติและเรียกใช้การทดสอบทุกครั้งที่มีการอัปเดตแอปของคุณ คุณยังสามารถกำหนดค่า Jenkins ให้เรียกใช้บิลด์เป็นระยะๆ

หากต้องการเรียนรู้เกี่ยวกับการกำหนดค่าบิลด์ใน Jenkins โปรดดู ที่การกำหนดค่าบิลด์อัตโนมัติ

การเพิ่มขั้นตอนการสร้าง Gradle เพื่อสร้างแพ็คเกจ APK ใหม่

หากคุณใช้ระบบควบคุมการแก้ไขเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณ คุณต้องรวมขั้นตอนการสร้าง Gradle เพื่อสร้างไบนารี APK ใหม่ทุกครั้งที่ Jenkins ดาวน์โหลดซอร์สโค้ดจากระบบควบคุมการแก้ไขของคุณ

  1. เพิ่มขั้นตอนการสร้างเพื่อเรียกใช้คำสั่งต่อไปนี้ในไดเร็กทอรีหลักสำหรับแอปพลิเคชันของคุณ:

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

  2. เพิ่มขั้นตอนการสร้างเพื่อใช้แพ็คเกจ APK ที่สร้างโดย Gradle เมื่อทำการทดสอบกับ Test Lab คุณสามารถใช้เส้นทางนี้เป็น <local_server_path> ในตัวอย่างเชลล์สคริปต์ที่ระบุด้านล่าง โดยที่ <AppFolder> เป็นโฟลเดอร์โครงการ Android Studio สำหรับแอปของคุณ:

    <AppFolder>/app/build/outputs/apk
    

เพิ่มขั้นตอนการสร้าง Test Lab ให้กับ Jenkins

ตอนนี้คุณพร้อมที่จะเพิ่มขั้นตอนการสร้างใน Jenkins เพื่อเรียกใช้ Test Lab โดยใช้บรรทัดคำสั่ง gcloud

ในการเพิ่มขั้นตอนการสร้าง gcloud

  1. จากหน้าหลักสำหรับโครงการของคุณ ให้คลิก กำหนดค่า
  2. ในหน้า การกำหนดค่าโครงการ ให้เลื่อนลงไปที่ส่วน Build จากนั้นเลือก Execute shell จากเมนู Add build step

  3. ในหน้าต่าง คำสั่งเชลล์ Jenkins Execute ให้ป้อนข้อมูลต่อไปนี้ แทนที่ <local_server_path> สำหรับเส้นทางไปยังแอปตัวอย่างบนเซิร์ฟเวอร์ <app_apk> สำหรับ APK ของแอป และ <app_test_apk> สำหรับ APK ทดสอบของแอปของคุณ:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

วิเคราะห์ผลการทดสอบ

หลังจาก Test Lab ทำการทดสอบแอปของคุณเสร็จสิ้นแล้ว คุณจะตรวจสอบผลการทดสอบได้ในคอนโซล Firebase หรือในที่เก็บข้อมูล Google Cloud Storage ในโครงการของคุณ คุณยังสามารถเพิ่มคำสั่ง gsutil ให้กับคำสั่งเชลล์ที่แสดงด้านบนเพื่อคัดลอกข้อมูลผลการทดสอบไปยังเครื่องคอมพิวเตอร์ของคุณ หากต้องการเรียนรู้เพิ่มเติม โปรดดู การวิเคราะห์ผลลัพธ์ของ Firebase Test Lab

การผสานรวมกับระบบ CI อื่นๆ อย่างต่อเนื่อง

หากต้องการเรียนรู้วิธีใช้ Firebase Test Lab กับระบบ CI อื่นๆ โปรดดูเอกสารของพวกเขา: