Các phương pháp hay nhất để phân phối ứng dụng của Apple cho người kiểm thử đảm bảo chất lượng bằng CI/CD và Fastlane

Tài liệu này giới thiệu các phương pháp hay nhất để sử dụng Firebase App Distribution và fastlane nhằm giúp quy trình kiểm thử bản phát hành trước trên nền tảng Apple trở nên bền vững và có thể lặp lại trong môi trường CI/CD. Mặc dù tài liệu này tập trung vào fastlane, nhưng chúng tôi cũng mô tả các giải pháp có sẵn thông qua bảng điều khiển Firebase, CLI Firebase và API Firebase App Distribution công khai để mang lại cho bạn sự linh hoạt hơn. Chúng tôi cũng mô tả các giới hạn về bản phát hành và người kiểm thử để bạn có thể lên kế hoạch trước nhằm có được trải nghiệm tối ưu.

Nếu bạn cũng đang sử dụng Android, hãy xem Các phương pháp hay nhất để phân phối ứng dụng Android cho người kiểm thử QA bằng CI/CD.

Trước khi bắt đầu

Trước khi triển khai các phương pháp hay nhất trong tài liệu này, hãy nhớ bật App Distribution trong bảng điều khiển Firebase cho từng ứng dụng. Nếu chưa bật App Distribution, bạn sẽ gặp lỗi 404.

Để bật App Distribution, hãy làm theo các bước sau:

  1. Mở trang App Distribution trong bảng điều khiển Firebase.

  2. Chọn ứng dụng iOS của bạn.

  3. Nhấp vào Bắt đầu.

Tự động hoá quy trình kiểm thử bản phát hành trước bằng CI/CD

Nếu muốn tự động hoá việc xây dựng và phát hành ứng dụng cho người thử nghiệm và đang sử dụng CI/CD, bạn nên dùng fastlane. Một lựa chọn khác là sử dụng CLI Firebase, cho phép bạn truy cập vào nhiều sản phẩm của Firebase.

Sử dụng fastlane

Tích hợp App Distribution vào quy trình CI/CD bằng fastlane, một công cụ nguồn mở giúp tự động hoá việc xây dựng và phát hành ứng dụng iOS và ứng dụng Android. Bằng cách tự động xây dựng và phân phối các bản phát hành mới nhất cho người thử nghiệm, bạn đảm bảo người thử nghiệm luôn có phiên bản thử nghiệm mới nhất của ứng dụng.

Để tìm hiểu cách tích hợp App Distribution với fastlane, hãy xem bài viết Phân phối ứng dụng iOS cho người thử nghiệm bằng fastlane. Bạn cũng có thể xem lớp học lập trình hướng dẫn quy trình tích hợp fastlane.

Sử dụng CLI Firebase

Sử dụng các công cụ CLI Firebase mà App Distribution cung cấp để phân phối bản dựng cho người kiểm thử theo phương thức lập trình. Bạn có thể chỉ định người thử nghiệm và ghi chú phát hành cho một bản dựng.

Phân phối bản dựng iOS mới nhất test.ipa bằng cách chỉ định Mã ứng dụng Firebase của ứng dụng, tuỳ ý thêm ghi chú phát hành và tệp chứa email của người kiểm thử:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Để tìm hiểu thêm về cách sử dụng CLI Firebase để tự động hoá các bản dựng, hãy xem bài viết Phân phối ứng dụng iOS cho người kiểm thử bằng CLI Firebase.

Sử dụng thông tin xác thực dịch vụ để xác thực

Sử dụng App Distribution trình bổ trợ fastlane hoặc CLI Firebase với tài khoản dịch vụ, tận dụng Thông tin xác thực mặc định của ứng dụng và giúp bạn quản lý CI. Tài khoản dịch vụ là một loại Tài khoản Google đại diện cho các ứng dụng thay vì người dùng. Hệ thống CI của bạn có thể sử dụng tài khoản dịch vụ để chạy khối lượng công việc App Distribution. Để tìm hiểu thêm, hãy xem bài viết Xác thực bằng tài khoản dịch vụ.

Nếu đang sử dụng Workload Identity federation, bạn có thể tạo và sử dụng tệp cấu hình thông tin xác thực thay vì khoá tài khoản dịch vụ.

Lưu ý đến giới hạn phát hành

App Distribution hỗ trợ tối đa 1.000 bản phát hành cho mỗi ứng dụng. Điều này có nghĩa là khi bạn vượt quá giới hạn bản phát hành, App Distribution sẽ tự động xoá các bản phát hành cũ nhất vượt quá giới hạn. Để tìm hiểu cách quản lý giới hạn phát hành, hãy xem phần Bản phát hành ứng dụng có hiệu lực trong bao lâu?

Thêm cùng một nhóm người thử nghiệm vào nhiều bản phát hành

Nếu bạn muốn thêm nhiều người thử nghiệm vào bản phát hành, hãy sử dụng chức năng quản lý người thử nghiệm hàng loạt của App Distribution.

Bạn nên sử dụng nhóm để thêm cùng một người thử nghiệm vào nhiều bản phát hành. Nhóm đóng vai trò là danh sách kiểm soát quyền truy cập; khi bạn xoá một người kiểm thử khỏi nhóm, người đó sẽ mất quyền truy cập vào tất cả bản phát hành được phân phối cho nhóm đó. Để tìm hiểu thêm, hãy xem bài viết Thêm và xoá người kiểm thử khỏi một nhóm.

Nếu có nhiều người kiểm thử cần quản lý, bạn có thể thêm và xoá người kiểm thử hàng loạt bằng bảng điều khiển Firebase. Để tự động hoá việc thêm và xoá người thử nghiệm, hãy sử dụng Firebase CLI, fastlane, hoặc API Firebase App Distribution công khai.

Lưu ý đến giới hạn về số lượng người kiểm thử

App Distribution giới hạn số lượng người thử nghiệm mà bạn có thể thêm vào một dự án Firebase hoặc một nhóm App Distribution. Khi vượt quá các giới hạn này, bạn sẽ không thể phân phối ứng dụng của mình cho những người kiểm thử khác. Để tìm hiểu thêm về giới hạn đối với người kiểm thử, hãy xem bài viết Có giới hạn nào về việc thêm người kiểm thử vào ứng dụng của tôi không?

Quản lý và tự động thêm thiết bị thử nghiệm iOS mới

Để giúp bạn đăng ký thêm thiết bị thử nghiệm iOS, App Distribution giúp bạn quản lý thiết bị thử nghiệm iOS trong cổng thông tin cho nhà phát triển của Apple bằng cách thông báo cho bạn về thiết bị iOS mới của người kiểm thử qua email hoặc tệp CSV. Để tìm hiểu thêm, hãy xem phần Nhập người thử nghiệm từ tệp CSV. Bạn cũng có thể xuất thiết bị mới theo phương thức lập trình bằng fastlane.

Để tìm hiểu cách thiết lập một thao tác fastlane tự động lấy UDID, thêm UDID vào bảng điều khiển dành cho nhà phát triển của Apple, sau đó tạo lại ứng dụng và phân phối ứng dụng, hãy xem bài viết Phân phối nhanh hơn các bản dựng iOS bản phát hành trước bằng App Distribution và fastlane.

Cho phép người thử nghiệm tiềm năng tự đăng ký thử nghiệm

Để dễ dàng phân phối ứng dụng cho nhiều người thử nghiệm hơn, bạn nên sử dụng đường liên kết của lời mời. Đường liên kết của lời mời là một URL riêng biệt cho phép người thử nghiệm nhập địa chỉ email của họ để đăng ký thử nghiệm một ứng dụng. Việc cho phép người dùng tự thêm mình vào danh sách người thử nghiệm ứng dụng là một cách liền mạch để tăng số lượng người thử nghiệm nội bộ.

Các trường hợp sử dụng đường liên kết của lời mời bao gồm các chương trình thử nghiệm nội bộ của công ty, các tổ chức có nhóm QA lớn và các nhóm nhà phát triển muốn từng khách hàng có thể kiểm soát quyền truy cập của người kiểm thử.

Bạn nên tạo đường liên kết của lời mời cho một nhóm. Bất kỳ người kiểm thử nào đăng ký bằng đường liên kết của lời mời đều sẽ tự động được thêm vào các bản phát hành tiếp theo.

Để tìm hiểu thêm, hãy xem bài viết Tạo đường liên kết của lời mời và Thêm và xoá người kiểm thử khỏi nhóm.

Đảm bảo rằng người kiểm thử đang kiểm thử phiên bản mà bạn quan tâm

Khi bạn tải một phiên bản mới lên, người thử nghiệm sẽ nhận được thông báo qua email. Để bổ sung cho thông báo này, bạn có thể sử dụng các tính năng sau (đường liên kết đến bản phát hành và cảnh báo trong ứng dụng) để đảm bảo rằng người thử nghiệm đang thử nghiệm phiên bản ứng dụng cụ thể mà bạn quan tâm:

  • Đường liên kết đến bản phát hành: Sử dụng tính năng này khi bạn muốn chia sẻ một phiên bản cụ thể với người thử nghiệm. Để tìm hiểu cách sử dụng đường liên kết đến bản phát hành, hãy xem bài viết Phân phối ứng dụng iOS cho người kiểm thử bằng bảng điều khiển Firebase. Các đường liên kết này cũng có sẵn trong các công cụ dòng lệnh (CLI) Firebase và fastlane để bạn sử dụng với các công cụ tự động hoá bản dựng.

  • Cảnh báo trong ứng dụng: Sử dụng các cảnh báo này khi bạn muốn đảm bảo rằng người kiểm thử đang kiểm thử phiên bản mới nhất của ứng dụng. Bằng cách tích hợp SDK iOS của Firebase App Distribution, bạn có thể hiển thị cảnh báo trực tiếp bên trong ứng dụng cho người kiểm thử khi có bản dựng mới của ứng dụng. Để tìm hiểu cách thêm cảnh báo trong ứng dụng, hãy xem bài viết Thông báo cho người kiểm thử về bản dựng mới.

Tự động xoá quyền truy cập của những người thử nghiệm rời khỏi công ty

Sau khi quy trình kiểm thử nội bộ CI/CD đi vào hoạt động, bạn cần đảm bảo rằng những người rời khỏi công ty không còn quyền truy cập vào các bản dựng nội bộ của bạn. Để giúp bạn quản lý quyền truy cập của người kiểm thử vào các bản dựng, App Distribution cung cấp các lựa chọn sau: