คุณสามารถใช้ Firebase Test Lab เมื่อพัฒนาแอปโดยใช้ระบบการผสานรวมแบบต่อเนื่อง (CI) ระบบการผสานรวมอย่างต่อเนื่องช่วยให้คุณสร้างและทดสอบแอปของคุณโดยอัตโนมัติทุกครั้งที่คุณเช็คอินอัปเดตซอร์สโค้ดของแอป
การใช้ Firebase Test Lab กับ Jenkins CI
ส่วนนี้อธิบายวิธีใช้ Test Lab กับ Jenkins CI
ข้อกำหนด
ก่อนที่คุณจะใช้ Firebase Test Lab กับ Jenkins ได้คุณต้องทำตามขั้นตอนต่อไปนี้:
- ตั้งค่า gcloud ทำตามคำแนะนำจาก การใช้ Firebase Test Lab จาก gcloud Command Line เพื่อสร้างโปรเจ็กต์ Firebase และกำหนดค่าสภาพแวดล้อม Google Cloud SDK ในพื้นที่ของคุณ
- สร้างบัญชีบริการ บัญชีบริการไม่อยู่ภายใต้การตรวจสอบสแปมหรือข้อความแจ้งของ captcha ซึ่งอาจบล็อกการสร้าง CI ของคุณได้ สร้างบัญชีบริการด้วยบทบาท บรรณาธิการ ใน Google Cloud Console
- เปิดใช้งาน 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 ให้กำหนดการตั้งค่าความปลอดภัยส่วนกลางเพื่อบังคับใช้การควบคุมการเข้าถึงและตรวจสอบสิทธิ์ผู้ใช้
เพื่อกำหนดการตั้งค่าความปลอดภัยส่วนกลาง
- ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ ในการดำเนินการนี้ให้ไปที่ http: // <servername>: 8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณติดตั้ง Jenkins
- บนแดชบอร์ด Jenkins คลิก Manage Jenkins จากนั้นคลิก Configure Global Security
- ในเพจ Configure Global Security คลิก Enable security จากนั้นคลิก Save
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดการตั้งค่าความปลอดภัยสำหรับ Jenkins โปรดดู Quick and Simple Security , Standard Security Setup และ Securing Jenkins
สร้างโครงการ Jenkins
จากนั้นสร้างโครงการสำหรับเรียกใช้การทดสอบการรวมแอปอย่างต่อเนื่องกับ Firebase Test Lab
เพื่อสร้างโครงการ Jenkins
- ไปที่แดชบอร์ด Jenkins บนเซิร์ฟเวอร์ของคุณ ในการดำเนินการนี้ให้ไปที่ http: // <servername>: 8080 โดยที่ <servername> คือชื่อของคอมพิวเตอร์ที่คุณติดตั้ง Jenkins
- บนแดชบอร์ด Jenkins คลิก รายการใหม่
- พิมพ์ชื่อโครงการของคุณในฟิลด์ ชื่อรายการ :
- เลือก โปรเจ็กต์ Freestyle เพื่อสร้างโปรเจ็กต์ที่ใช้คอนฟิกูเรชันบิลด์เดียว
- เลือก Build multi-configuration project เพื่อสร้างโปรเจ็กต์ที่รันบน บิลด์ คอนฟิกูเรชันต่างๆ หากคุณวางแผนที่จะสร้างแอปของคุณด้วยการกำหนดค่าบิวด์ที่หลากหลาย (หลายภาษา, Android API หลายระดับ ฯลฯ ) โครงการแบบหลายการกำหนดค่าเป็นตัวเลือกที่ดีที่สุด
- คลิก บันทึก
หลังจากสร้างโปรเจ็กต์แล้วเว็บเบราว์เซอร์ของคุณจะแสดงหน้าหลักสำหรับโปรเจ็กต์ของคุณ
เพิ่มการควบคุมการแก้ไขและขั้นตอนการสร้าง Gradle
ส่วนนี้จะอธิบายถึงวิธีการรวม Jenkins เข้ากับระบบควบคุมการแก้ไขเช่น GitHub และวิธีเพิ่ม Gradle build ขั้นตอนเพื่อสร้างแพ็คเกจ APK จากซอร์สโค้ด
การผสานรวมกับ GitHub และระบบควบคุมการแก้ไขอื่น ๆ
หากคุณใช้ GitHub หรือระบบควบคุมการแก้ไขอื่นเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณคุณสามารถกำหนดค่าให้เจนกินส์เรียกใช้บิลด์อัตโนมัติและเรียกใช้การทดสอบทุกครั้งที่มีการเช็คอินอัปเดตแอปของคุณนอกจากนี้คุณยังกำหนดค่าให้เจนกินส์รันบิวด์เป็นระยะ ๆ ได้อีกด้วย
หากต้องการเรียนรู้เกี่ยวกับการกำหนดค่างานสร้างใน Jenkins โปรดดูที่การ กำหนดค่างานสร้างอัตโนมัติ
การเพิ่มขั้นตอนการสร้าง Gradle เพื่อสร้างแพ็คเกจ APK ใหม่
หากคุณใช้ระบบควบคุมการแก้ไขเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณคุณต้องรวมขั้นตอนการสร้าง Gradle เพื่อสร้างไบนารี APK ใหม่ทุกครั้งที่ Jenkins ดาวน์โหลดซอร์สโค้ดจากระบบควบคุมการแก้ไขของคุณ
เพิ่มขั้นตอนการสร้างเพื่อรันคำสั่งต่อไปนี้ในไดเร็กทอรีหลักสำหรับแอ็พพลิเคชันของคุณ:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
เพิ่มขั้นตอนการสร้างเพื่อใช้แพ็คเกจ APK ที่ Gradle สร้างขึ้นเมื่อทำการทดสอบกับ Test Lab คุณสามารถใช้เส้นทางนี้เป็น <local_server_path> ในตัวอย่างเชลล์สคริปต์ที่ให้ไว้ด้านล่างโดยที่ <AppFolder> คือโฟลเดอร์โครงการ Android Studio สำหรับแอปของคุณ:
<AppFolder>/app/build/outputs/apk
เพิ่มขั้นตอนการสร้าง Test Lab ให้กับ Jenkins
ตอนนี้คุณพร้อมที่จะเพิ่มขั้นตอนการสร้างให้กับ Jenkins เพื่อเรียกใช้ Test Lab โดยใช้บรรทัดคำสั่ง gcloud
ในการเพิ่มขั้นตอนการสร้าง gcloud
- จากหน้าหลักสำหรับโครงการของคุณคลิก กำหนดค่า
ในหน้า การกำหนดค่าโปรเจ็กต์ ให้เลื่อนลงไปที่ส่วน Build จากนั้นเลือก Execute shell จากเมนู Add build step
ในหน้าต่าง คำสั่ง Jenkins Execute shell ให้ป้อนข้อมูลต่อไปนี้โดยแทนที่ <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
การทำงานร่วมกับระบบ CI อื่น ๆ อย่างต่อเนื่อง
หากต้องการเรียนรู้วิธีใช้ Firebase Test Lab กับระบบ CI อื่น ๆ โปรดดูเอกสารของพวกเขา: