เริ่มการทดสอบด้วยระบบการรวมอย่างต่อเนื่อง (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 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. ในหน้า Configure Global Security ให้คลิก Enable security แล้วคลิก Save

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

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

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

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

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

    <AppFolder>/app/build/outputs/apk
    

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

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

วิธีเพิ่มขั้นตอนการสร้าง gcloud

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

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