เริ่มการทดสอบด้วยระบบการรวมอย่างต่อเนื่อง (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 แล้วเปิดใช้งาน (โปรดดูเอกสาร gcloud authenable-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 แล้วคลิก กำหนดค่า Global Security
  3. ในหน้ากำหนดค่า Global Security ให้คลิกเปิดใช้การรักษาความปลอดภัย และ แล้วคลิกบันทึก

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

สร้างโปรเจ็กต์ Jenkins

จากนั้น สร้างโปรเจ็กต์เพื่อทำการทดสอบการผสานรวมแอปอย่างต่อเนื่อง ด้วย Firebase Test Lab

วิธีสร้างโปรเจ็กต์ Jenkins

  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> ในตัวอย่างสคริปต์ Shell ด้านล่าง โดยที่ <AppFolder> คือโฟลเดอร์โปรเจ็กต์ Android Studio สำหรับ แอป:

    <AppFolder>/app/build/outputs/apk
    

เพิ่มขั้นตอนบิลด์ Test Lab ไปยัง Jenkins

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

วิธีเพิ่มขั้นตอนบิลด์ gcloud

  1. จากหน้าหลักของโปรเจ็กต์ ให้คลิกกำหนดค่า
  2. ในหน้าการกำหนดค่าโปรเจ็กต์ ให้เลื่อนลงไปที่ส่วนสร้าง แล้วเลือก Execute shell จากเมนูเพิ่มขั้นตอนของบิลด์

  3. ป้อนข้อมูลต่อไปนี้ในหน้าต่างคำสั่ง Shell ของ Jeenkins 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 ลงใน คำสั่ง Shell ที่แสดงด้านบนเพื่อคัดลอกข้อมูลผลการทดสอบไปยังคอมพิวเตอร์ของคุณ ดูข้อมูลเพิ่มเติมได้ที่ การวิเคราะห์ผลลัพธ์ของ Firebase Test Lab

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

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