คุณสามารถใช้ Firebase Test Lab เมื่อพัฒนาแอปโดยใช้รูปแบบต่อเนื่อง (CI) ระบบการผสานรวมอย่างต่อเนื่องช่วยให้คุณสร้างและทดสอบแอปโดยอัตโนมัติทุกครั้งที่เช็คอินการอัปเดตซอร์สโค้ดของแอป
กำลังใช้ Firebase Test Lab กับ Jenkins CI
หัวข้อนี้จะอธิบายวิธีใช้ Test Lab กับ Jenkins CI
ข้อกำหนด
คุณต้องทำตามขั้นตอนต่อไปนี้ก่อนจึงจะใช้ Firebase Test Lab กับ Jenkins ได้ ขั้นตอนต่อไปนี้
ตั้งค่า gcloud ทำตามวิธีการจาก การใช้ Firebase Test Lab จากบรรทัดคำสั่ง gcloud สร้างโปรเจ็กต์ Firebase และกำหนดค่า SDK Google Cloud ในเครื่องของคุณ ของคุณ
สร้างและให้สิทธิ์บัญชีบริการ ไม่ได้เป็นเจ้าของบัญชีบริการ ไปยังการตรวจสอบสแปมหรือข้อความแจ้ง CAPTCHA ซึ่งอาจบล็อก CI งานสร้าง สร้างบัญชีบริการที่มีบทบาทผู้แก้ไขในคอนโซล Google Cloud แล้วเปิดใช้งาน (ดูวิธีได้จากเอกสารประกอบ gcloud auth activate-service-account)
เปิดใช้ 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
- ในหน้ากำหนดค่าการรักษาความปลอดภัยทั่วโลก ให้คลิกเปิดใช้การรักษาความปลอดภัย แล้วคลิกบันทึก
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดการตั้งค่าความปลอดภัยสำหรับ Jenkins ที่ การรักษาความปลอดภัยที่รวดเร็วและง่ายดาย การตั้งค่าการรักษาความปลอดภัยแบบมาตรฐาน และ การรักษาความปลอดภัยให้ Jenkins
สร้างโปรเจ็กต์ Jenkins
จากนั้น สร้างโปรเจ็กต์เพื่อทำการทดสอบการผสานรวมแอปอย่างต่อเนื่อง ด้วย Firebase Test Lab
วิธีสร้างโปรเจ็กต์ Jenkins
- ไปที่แดชบอร์ดของ Jenkins ในเซิร์ฟเวอร์ โดยไปที่ http://<servername>:8080 โดยที่ <servername> คือชื่อคอมพิวเตอร์ที่คุณติดตั้ง Jenkins
- ในแดชบอร์ด Jenkins ให้คลิกรายการใหม่
- พิมพ์ชื่อโปรเจ็กต์ในช่องชื่อรายการ ดังนี้
- เลือกโปรเจ็กต์แบบอิสระเพื่อสร้างโปรเจ็กต์ที่ใช้การกำหนดค่าบิลด์เดียว
- เลือกสร้างโปรเจ็กต์การกำหนดค่าหลายรายการเพื่อสร้างโปรเจ็กต์ที่ ทำงานบนการกำหนดค่าบิลด์ที่แตกต่างกันหลายรายการ หากวางแผนที่จะสร้าง แอปของคุณที่มีการกำหนดค่าบิลด์ที่หลากหลาย (หลายภาษา ระดับ API ของ Android หลายระดับ เป็นต้น) โปรเจ็กต์ที่มีการกำหนดค่าแบบหลายระดับจะเป็น ตัวเลือกที่ดีที่สุด
- คลิกบันทึก
หลังจากสร้างโปรเจ็กต์แล้ว เว็บเบราว์เซอร์จะแสดงหน้าหลักของโปรเจ็กต์
เพิ่มการควบคุมการแก้ไขและขั้นตอนการสร้าง Gradle
ส่วนนี้อธิบายวิธีผสานรวม Jenkins กับระบบควบคุมการแก้ไข เช่น GitHub และวิธีเพิ่มขั้นตอนบิลด์ Gradle เพื่อสร้างแพ็กเกจ APK จากซอร์สโค้ด
การผสานรวมกับ GitHub และระบบควบคุมการแก้ไขอื่นๆ
หากคุณใช้ GitHub หรือระบบควบคุมการแก้ไขอื่นเพื่อจัดการซอร์สโค้ด สำหรับแอปของคุณ คุณสามารถกำหนดค่า Jenkins ให้เรียกใช้บิลด์อัตโนมัติและทำการทดสอบ ทุกครั้งที่มีการเรียกการอัปเดตแอปของคุณ นอกจากนี้ คุณยังกำหนดค่า Jenkins จะเรียกใช้บิลด์เป็นระยะ
หากต้องการเรียนรู้เกี่ยวกับการกำหนดค่าบิลด์ใน Jenkins โปรดดู การกำหนดค่าบิลด์อัตโนมัติ
เพิ่มขั้นตอนบิลด์ Gradle เพื่อสร้างแพ็กเกจ APK ใหม่
หากคุณใช้ระบบควบคุมการแก้ไขเพื่อจัดการซอร์สโค้ดสำหรับแอปของคุณ คุณ ต้องรวมขั้นตอนบิลด์ของ Gradle เพื่อสร้างไบนารี APK ใหม่ทุกครั้งที่ Jenkins ดาวน์โหลดซอร์สโค้ดจากระบบควบคุมการแก้ไขของคุณ
เพิ่มขั้นตอนการสร้างเพื่อเรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรีหลักสำหรับ แอปพลิเคชัน:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
เพิ่มขั้นตอนบิลด์เพื่อใช้แพ็กเกจ APK ที่ Gradle สร้างขณะทดสอบ ด้วย Test Lab คุณสามารถใช้เส้นทางนี้เป็น <local_server_path> ในตัวอย่างสคริปต์ Shell ด้านล่าง โดยที่ <AppFolder> คือโฟลเดอร์โปรเจ็กต์ Android Studio สำหรับ แอป:
<AppFolder>/app/build/outputs/apk
เพิ่มขั้นตอนบิลด์ Test Lab รายการไปยัง Jenkins
ตอนนี้คุณพร้อมที่จะเพิ่มขั้นตอนบิลด์ไปยัง Jenkins เพื่อเรียกใช้ Test Lab โดยใช้ บรรทัดคำสั่ง gcloud
วิธีเพิ่มขั้นตอนบิลด์ gcloud
- จากหน้าหลักของโปรเจ็กต์ ให้คลิกกำหนดค่า
ในหน้าการกำหนดค่าโปรเจ็กต์ ให้เลื่อนลงไปที่ส่วนสร้าง แล้วเลือก Execute shell จากเมนูเพิ่มขั้นตอนของบิลด์
ป้อนข้อมูลต่อไปนี้ในหน้าต่างคำสั่ง Shell ของ Jeenkins 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
ลงใน
คำสั่ง Shell ที่แสดงด้านบนเพื่อคัดลอกข้อมูลผลการทดสอบไปยังคอมพิวเตอร์ของคุณ
ดูข้อมูลเพิ่มเติมได้ที่
กำลังวิเคราะห์ผลลัพธ์ Firebase Test Lab รายการ
การผสานรวมอย่างต่อเนื่องกับระบบ CI อื่นๆ
หากต้องการดูวิธีใช้ Firebase Test Lab กับระบบ CI อื่นๆ โปรดไปที่ เอกสารของพวกเขา: