เริ่มการทดสอบด้วยระบบการรวมอย่างต่อเนื่อง (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 auth activate-service-account)

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

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

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

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

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

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