เริ่มการทดสอบด้วยระบบการรวมอย่างต่อเนื่อง (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 และกำหนดค่าสภาพแวดล้อม SDK ของ Google Cloud ในเครื่อง

  2. สร้างและให้สิทธิ์บัญชีบริการ บัญชีบริการไม่ต้องได้รับการตรวจสอบสแปมหรือข้อความแจ้ง CAPTCHA ซึ่งอาจบล็อกบิลด์ CI ให้สร้างบัญชีบริการที่มีบทบาทผู้แก้ไขในคอนโซล Google Cloud แล้วเปิดใช้งาน (ดูวิธีการในเอกสารประกอบการตรวจสอบสิทธิ์ gcloud การตรวจสอบสิทธิ์-บัญชีบริการ)

  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. ในหน้ากำหนดค่าการรักษาความปลอดภัยทั่วโลก ให้คลิกเปิดใช้การรักษาความปลอดภัย แล้วคลิกบันทึก

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

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

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