Deploy ứng dụng Android bằng Fastlane

Deploy ứng dụng Android bằng Fastlane
Photo by Mika Baumeister / Unsplash

Ở phần trước chúng ta đã tìm hiểu cách cài đặt và thiết lập Fastlane cho dự án Android. Ở phần này chúng ta sẽ cùng tìm hiểu cách deploy ứng dụng Android lên Google Play bằng cách sử dụng Fastlane nhé.

Build ứng dụng

Fastlane có thể đảm nhận việc build ứng dụng của bạn bằng cách uỷ quyền cho Gradle build hiện có. Chỉ cần thêm vài dòng dưới đây vào Fastfile:

lane :playstore do
  gradle(
    task: 'assemble',
    build_type: 'Release'
  )
end

Thử chạy lane này bằng lệnh:

fastlane playstore

Sau khi hoàn thành bạn sẽ thấy tệp APK đã có trong thư mục output. Để lấy danh sách tất cả các tham số sẵn có cho hành động gradle, chạy lệnh:

fastlane action gradle

Upload APK

Để upload tệp build lên Google Play, Fastlane sử dụng một công cụ tên là Supply (đã nói ở bài trước). Bạn đơn giản chỉ cần thêm một lệnh gọi supply vào trong lane bạn đã thiết lập ở trên:

lane :playstore do
  gradle(
    task: 'assemble',
    build_type: 'Release'
  )
  upload_to_play_store # Uploads the APK built in the gradle step above and releases it to all production users
end

Nó sẽ thực hiện các việc sau:

  • Tải lên metadata của app từ fastlane/metadata/android nếu trước đó bạn đã chạy lệnh fastlane supply init.
  • Tải lên các tệp khuếch đại (obbs) được tìm thấy dưới cùng thư mục với file APK miễn là: (1) chúng được xác định với kiểu main hoặc patch (chứa main hoặc patch trong tên file). (2) Có nhiều nhất 1 file cho từng loại.
  • Tải lên các ảnh chụp màn hình từ fastlane/metadata/android nếu trước đó bạn đã chạy screengrab.
  • Tạo ra một bản build production mới.
  • Phát hành bản build production tới tất cả user.

Để phát hành bản build dạng roll-out (từng phần), bạn có thể dùng cách sau:

lane :playstore do
  # ...
  upload_to_play_store(
    track: 'rollout',
    rollout: '0.5'
  )
end

Để lấy danh sách tất cả các tham số sẵn có cho upload_to_play_story, chạy lệnh:

fastlane action upload_to_play_store

Tham khảo thêm

Release Deployment - fastlane docs