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

  3. เปิดใช้ API ที่จำเป็น หลังจากเข้าสู่ระบบโดยใช้บัญชีบริการแล้ว ให้ไปที่หน้าไลบรารี API ของ Google Developers Console แล้วเปิดใช้ 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

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

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

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

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

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

  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 อื่นๆ โปรดดูเอกสารของระบบเหล่านั้น