เริ่มการทดสอบด้วยระบบ 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 ของคุณ สร้างบัญชีบริการที่มีบทบาท แก้ไข ใน Google Cloud Console แล้วเปิดใช้งาน (ดูเอกสาร gcloud auth activate-service-account เพื่อเรียนรู้วิธีการ)

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

ติดตั้งและตั้งค่า Jenkins

คุณสามารถติดตั้งและตั้งค่า 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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดการตั้งค่าความปลอดภัยสำหรับเจนกินส์ โปรดดู ความปลอดภัยแบบรวดเร็วและแบบง่าย , การตั้งค่าความปลอดภัยมาตรฐาน และ การ รักษาความปลอดภัยเจนกินส์

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

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

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

  1. ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ เมื่อต้องการทำเช่นนี้ ให้เรียกดู http://<servername>:8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณได้ติดตั้ง Jenkins
  2. บนแดชบอร์ด Jenkins ให้คลิก New Item
  3. พิมพ์ชื่อสำหรับโครงการของคุณในฟิลด์ ชื่อรายการ :
    • เลือกโปรเจ็กต์ Freestyle เพื่อสร้างโปรเจ็กต์ที่ใช้การกำหนดค่าบิลด์เดียว
    • เลือก สร้างโปรเจ็กต์ที่มีการกำหนดค่าหลายรายการ เพื่อสร้างโปรเจ็กต์ที่ทำงานบนการกำหนดค่าบิลด์ที่แตกต่างกันหลายรายการ หากคุณวางแผนที่จะสร้างแอปของคุณด้วยการกำหนดค่าบิลด์ที่หลากหลาย (หลายสถานที่ หลายระดับ Android API เป็นต้น) โปรเจ็กต์การกำหนดค่าหลายรายการจะเป็นตัวเลือกที่ดีที่สุด
  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. จากหน้าหลักของโครงการ ให้คลิก Configure
  2. ในหน้า การกำหนดค่าโปรเจ็ กต์ ให้เลื่อนลงไปที่ส่วน Build แล้วเลือก Execute shell จากเมนู เพิ่มขั้นตอนการสร้าง

  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 อื่นๆ โปรดดูเอกสาร: