เริ่มการทดสอบด้วยระบบบูรณาการอย่างต่อเนื่อง (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 เพื่อเรียนรู้วิธีการ)

  3. เปิดใช้งาน API ที่จำเป็น หลังจากเข้าสู่ระบบโดยใช้บัญชีบริการ: ใน หน้าไลบรารี Google Developers Console API ให้เปิดใช้งาน Google Cloud Testing API และ Cloud Tool Results API หากต้องการเปิดใช้งาน API เหล่านี้ ให้พิมพ์ชื่อ API เหล่านี้ลงในช่องค้นหาที่ด้านบนของคอนโซล จากนั้นคลิก เปิดใช้งาน API บนหน้าภาพรวมของ API นั้น

ติดตั้งและตั้งค่าเจนกินส์

คุณสามารถติดตั้งและตั้งค่า 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

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

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

เพื่อสร้างโครงการเจนกินส์

  1. ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ เมื่อต้องการทำเช่นนี้ ให้เรียกดู http://<servername>:8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณได้ติดตั้ง Jenkins
  2. บนแดชบอร์ด Jenkins ให้คลิก รายการใหม่
  3. พิมพ์ชื่อโครงการของคุณในช่อง ชื่อรายการ :
    • เลือก โปรเจ็กต์ Freestyle เพื่อสร้างโปรเจ็กต์ที่ใช้การกำหนดค่าบิลด์เดียว
    • เลือก สร้างโปรเจ็กต์ที่มีการกำหนดค่าหลายรายการ เพื่อสร้างโปรเจ็กต์ที่ทำงานบนการกำหนดค่าบิลด์ที่แตกต่างกันหลายรายการ หากคุณวางแผนที่จะสร้างแอปของคุณด้วยการกำหนดค่าบิลด์ที่หลากหลาย (หลายภาษา, Android API หลายระดับ ฯลฯ) โปรเจ็กต์ที่มีการกำหนดค่าหลายรายการคือตัวเลือกที่ดีที่สุด
  4. คลิก บันทึก

หลังจากสร้างโครงการของคุณแล้ว เว็บเบราว์เซอร์ของคุณจะแสดงหน้าหลักสำหรับโครงการของคุณ

เพิ่มการควบคุมการแก้ไขและขั้นตอนการสร้าง Gradle

ส่วนนี้จะอธิบายวิธีรวม Jenkins เข้ากับระบบควบคุมการแก้ไข เช่น GitHub และวิธีเพิ่มขั้นตอนการสร้าง Gradle เพื่อสร้างแพ็คเกจ APK จากซอร์สโค้ด

บูรณาการกับ GitHub และระบบควบคุมการแก้ไขอื่น ๆ

หากคุณใช้ GitHub หรือระบบควบคุมการแก้ไขอื่นเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณ คุณสามารถกำหนดค่า Jenkins ให้รันบิลด์อัตโนมัติและรันการทดสอบทุกครั้งที่มีการเช็คอินการอัปเดตแอปของคุณ คุณยังสามารถกำหนดค่า Jenkins ให้รันบิลด์เป็นระยะๆ ได้อีกด้วย

หากต้องการเรียนรู้เกี่ยวกับการกำหนดค่าบิลด์ใน Jenkins โปรดดู ที่การกำหนดค่าบิลด์อัตโนมัติ

การเพิ่มขั้นตอนการสร้าง Gradle เพื่อสร้างแพ็คเกจ APK ใหม่

หากคุณใช้ระบบควบคุมการแก้ไขเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณ คุณจะต้องรวมขั้นตอนการสร้าง Gradle เพื่อสร้างไบนารี APK ใหม่ทุกครั้งที่ Jenkins ดาวน์โหลดซอร์สโค้ดจากระบบควบคุมการแก้ไขของคุณ

  1. เพิ่มขั้นตอนการ build เพื่อรันคำสั่งต่อไปนี้ในไดเร็กทอรีหลักสำหรับแอปพลิเคชันของคุณ:

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