Bắt đầu kiểm thử bằng các hệ thống tích hợp liên tục (CI)

Bạn có thể sử dụng Phòng thử nghiệm Firebase khi phát triển ứng dụng bằng bất kỳ tích hợp (CI). Hệ thống tích hợp liên tục giúp bạn tự động tạo và kiểm thử ứng dụng mỗi khi bạn kiểm tra bản cập nhật cho mã nguồn của ứng dụng.

Sử dụng Phòng thử nghiệm Firebase với Jenkins CI

Phần này mô tả cách sử dụng Phòng thử nghiệm với Jenkins CI.

Yêu cầu

Trước khi có thể sử dụng Phòng thử nghiệm Firebase với Jenkins, bạn cần hoàn tất các bước sau:

  1. Thiết lập gcloud. Làm theo hướng dẫn từ Sử dụng Phòng thử nghiệm Firebase bằng dòng lệnh gcloud để tạo một dự án Firebase và định cấu hình Google Cloud SDK cục bộ môi trường.

  2. Tạo và uỷ quyền một tài khoản dịch vụ. Tài khoản dịch vụ không được đề cập đến kiểm tra thư rác hoặc lời nhắc bằng hình ảnh xác thực, nếu không, có thể chặn CI của bạn bản dựng. Tạo một tài khoản dịch vụ có vai trò Người chỉnh sửa trong bảng điều khiển Google Cloud sau đó kích hoạt tài khoản đó (xem tài liệu về tài khoản kích hoạt dịch vụ kích hoạt quy trình xác thực gcloud để tìm hiểu cách thực hiện).

  3. Bật các API bắt buộc. Sau khi đăng nhập bằng tài khoản dịch vụ: Trong trang Thư viện API Google Developers Console, bật Google Cloud Testing APICloud Tool Results API. Người nhận bật các API này, hãy nhập các tên API này vào hộp tìm kiếm ở đầu bảng điều khiển rồi nhấp vào Bật API trên trang tổng quan cho API đó.

Cài đặt và thiết lập Jenkins

Bạn có thể cài đặt và thiết lập Jenkins CI trên Linux hoặc Windows. Một số chi tiết về hướng dẫn này dành riêng cho cách cài đặt và chạy Jenkins CI trên Linux, bao gồm sử dụng dấu gạch chéo (/) trong đường dẫn tệp.

Để tải xuống và cài đặt Jenkins trên máy tính chạy Linux hoặc Windows, hãy làm theo hướng dẫn Cài đặt Jenkins. Sau cài đặt Jenkins, hãy làm theo hướng dẫn trên Bắt đầu và truy cập vào Jenkins để hoàn tất quá trình thiết lập và truy cập vào trang tổng quan của Jenkins.

Định cấu hình chế độ cài đặt bảo mật chung

Jenkins không thiết lập chế độ kiểm soát quyền truy cập và xác thực người dùng khi được cài đặt lần đầu tiên. Trước khi sử dụng Jenkins với Phòng thử nghiệm Firebase, hãy định cấu hình cài đặt bảo mật chung để thực thi kiểm soát truy cập và xác thực người dùng.

Để định cấu hình cài đặt bảo mật chung

  1. Chuyển đến trang tổng quan Jenkins trên máy chủ của bạn. Để thực hiện việc này, hãy duyệt tới http://<servername>:8080, trong đó <servername> là tên của máy tính nơi bạn đã cài đặt Jenkins.
  2. Trên trang tổng quan Jenkins, hãy nhấp vào Manage Jenkins (Quản lý Jenkins), sau đó nhấp vào Định cấu hình bảo mật chung.
  3. Trên trang Định cấu hình bảo mật chung, hãy nhấp vào Bật bảo mật và sau đó nhấp vào Lưu.

Để biết thêm thông tin về cách định cấu hình chế độ cài đặt bảo mật cho Jenkins, hãy xem Bảo mật nhanh chóng và đơn giản, Thiết lập bảo mật tiêu chuẩn, và Bảo mật Jenkins.

Tạo dự án Jenkins

Tiếp theo, hãy tạo một dự án để chạy thử nghiệm tích hợp liên tục cho ứng dụng của bạn với Phòng thử nghiệm Firebase.

Cách tạo dự án Jenkins

  1. Chuyển đến trang tổng quan Jenkins trên máy chủ của bạn. Để thực hiện việc này, hãy duyệt tới http://<servername>:8080, trong đó <servername> là tên của máy tính nơi bạn đã cài đặt Jenkins.
  2. Trên trang tổng quan Jenkins, hãy nhấp vào New Item (Mục mới).
  3. Nhập tên cho dự án của bạn vào trường Item name (Tên mặt hàng):
    • Chọn Dự án tự do để tạo dự án sử dụng một bản dựng duy nhất .
    • Chọn Tạo dự án nhiều cấu hình để tạo một dự án chạy trên nhiều cấu hình bản dựng. Nếu bạn định tạo ứng dụng của bạn với nhiều cấu hình bản dựng (nhiều ngôn ngữ, nhiều cấp độ API Android, v.v.), thì một dự án nhiều cấu hình sẽ lựa chọn tốt nhất.
  4. Nhấp vào Lưu.

Sau khi dự án được tạo, trình duyệt web sẽ hiển thị trang chính cho dự án.

Thêm chế độ kiểm soát bản sửa đổi và các bước tạo bản dựng Gradle

Phần này mô tả cách tích hợp Jenkins với hệ thống kiểm soát bản sửa đổi chẳng hạn như GitHub và cách thêm các bước xây dựng Gradle để tạo các gói APK từ mã nguồn.

Tích hợp với GitHub và các hệ thống kiểm soát sửa đổi khác

Nếu bạn sử dụng GitHub hoặc một hệ thống kiểm soát bản sửa đổi khác để quản lý mã nguồn cho ứng dụng của mình, bạn có thể định cấu hình Jenkins để chạy các bản dựng tự động cũng như chạy kiểm thử mỗi khi người dùng đăng ký bản cập nhật cho ứng dụng của bạn. Bạn cũng có thể định cấu hình Jenkins để chạy các bản dựng theo định kỳ.

Để tìm hiểu về cách định cấu hình bản dựng trong Jenkins, hãy xem Định cấu hình bản dựng tự động.

Thêm các bước xây dựng Gradle để tạo lại các gói APK

Nếu sử dụng hệ thống kiểm soát sửa đổi để quản lý mã nguồn cho ứng dụng của mình, bạn cần đưa vào một bước tạo bản dựng Gradle để tạo các tệp nhị phân APK mới mỗi khi Jenkins tải xuống mã nguồn từ hệ thống kiểm soát bản sửa đổi của bạn.

  1. Thêm một bước tạo bản dựng để chạy các lệnh sau trong thư mục chính cho ứng dụng:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Thêm một bước tạo bản dựng để sử dụng(các) gói APK do Gradle tạo khi kiểm thử với Phòng thử nghiệm. Bạn có thể sử dụng đường dẫn này làm <local_server_path> trong ví dụ về tập lệnh shell được cung cấp bên dưới, trong đó <AppFolder> là thư mục dự án Android Studio cho ứng dụng:

    <AppFolder>/app/build/outputs/apk
    

Thêm các bước xây dựng Phòng thử nghiệm vào Jenkins

Bây giờ, bạn đã sẵn sàng thêm một bước tạo bản dựng vào Jenkins để chạy Phòng thử nghiệm bằng dòng lệnh gcloud.

Cách thêm một bước tạo bản dựng gcloud

  1. Trên trang chính của dự án, hãy nhấp vào Configure (Định cấu hình).
  2. Trên trang project configuration (Cấu hình dự án), hãy di chuyển xuống phần Build (Tạo), rồi chọn Thực thi shell trên trình đơn Thêm bước tạo bản dựng.

  3. Trong cửa sổ Jenkins Execute shell Command (Lệnh thực thi lệnh shell), hãy nhập dòng sau: thay thế <local_server_path> cho đường dẫn đến ứng dụng mẫu trên máy chủ, <app_apk> cho APK của ứng dụng và <app_test_apk> cho APK kiểm thử của ứng dụng:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Phân tích kết quả kiểm thử

Sau khi Phòng thử nghiệm hoàn tất quá trình kiểm thử ứng dụng, bạn có thể xem lại quy trình kiểm thử kết quả trong bảng điều khiển của Firebase hoặc trong một Bộ chứa Google Cloud Storage trong dự án của bạn. Bạn cũng có thể thêm Lệnh gsutil đến lệnh shell hiển thị ở trên để sao chép dữ liệu kết quả kiểm tra vào máy tính cục bộ của bạn. Để tìm hiểu thêm, hãy xem Phân tích kết quả trong Phòng thử nghiệm Firebase.

Tích hợp liên tục với các hệ thống CI khác

Để tìm hiểu cách sử dụng Phòng thử nghiệm Firebase với các hệ thống CI khác, hãy tham khảo tài liệu của họ: