Để tiện cho đội tester test sản phẩm và tự động hơn nên chúng ta cần làm CI - CD
Tóm tắt
Các khái niệm
-
Firebase là một phần mềm phát triển ứng dụng do Google hỗ trợ cho phép các nhà phát triển phát triển các ứng dụng iOS, Android và web. Firebase cung cấp các công cụ để theo dõi các phân tích, báo cáo và sửa chữa các sự cố ứng dụng, tạo thử nghiệm tiếp thị và sản phẩm.
-
APK là viết tắt của Android Package (đôi khi là Android Package Kit hoặc Android Application Package ). Đó là định dạng tệp mà Android sử dụng để phân phối và cài đặt ứng dụng. Do đó, APK chứa tất cả các yếu tố mà một ứng dụng cần cài đặt chính xác trên thiết bị của bạn.
-
IPA là một tiện ích mở rộng cho tệp gói App Store iOS là tệp lưu trữ ứng dụng được sử dụng để phân phối các ứng dụng trên iOS. IPA chứa các tệp ở dạng không nén, chỉ có thể được cài đặt trên iOS.
Hướng dẫn
Đăng ký Firebase
- Chúng ta vào trang chủ của Firebase để đăng ký: https://console.firebase.google.com/u/0/
sau khi login thành công chúng ta cọn "Add Project"
- Nhập tên project, ở đây mình sẽ đặt tên là "React Native DevOps"
- Tiếp tục nhấp vào Continue
- Tiếp tục nhấp vào Continue
- Ở bước này chúng ta chọn account của GA or là tạo account mới cho GA, sau dó nhấp vào "Create project"
- Tiếp tục nhấp vào Continue, Như vậy bạn đã tạo thành công project trên Firebase
Cấu hình Firebase cho Android
- Tạo App Name cho project android bằng cách nhấp vào icon Android trên trang dashboard của Firebase
- Nhập Android ackage name và nhấp vào "Register app"
- Tải file google-services.json về và nhấp vào "Next"
- Copy file vừa tải về vào thư mục android/app
- Sau đó mở Android studio và chọn project của mình
- Để cho các giá trị cấu hình google-services.json có thể truy cập được vào SDK Firebase, bạn cần có plugin Gradle dịch vụ của Google.
- Sau đó, trong tệp module (app-level) build.gradle , hãy thêm cả plugin dịch vụ google và bất kỳ SDK Firebase nào bạn muốn sử dụng trong ứng dụng của mình:
- Tiếp tục quay lại trang web và nhấp vào "Next"
- Tiếp tục quay lại trang web và nhấp vào "Continue console"
- Như vậy mình đã tạo Firebase cho android thành công
Cấu hình Fastlane cho Android
Đầu tiền vào thư mục android :
cd android
sau đó init fastlane bằng lệnh
fastlane init
Sau khi init thành công thì sẽ có thư mục fastlane và 2 file "Appfile" , "Fastfile"
Cài đặt firebase-tools dùng để lấy token login
npm i firebase-tools -g
sau khi mình cài đặt thành công và sử dụng lệnh để lấy token login
firebase login:ci
như vậy mình đã có token login
1//0gP2yENNqCT1oCgYIARAAGBASNwF-L9IrqQI9gih5h73FSmaozzyn0HSQXxS7Vyyav2h4zEk4ClMbgmz6CwbEShz_qJVMmTxiGas
Tiếp tục mình sẽ lấy app-id
1:320882145170:android:21837959d5ffc9fe65b34b
Tiếp tục ta cập nhật "Appfile" , "Fastfile"
- Appfile
json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.reactnativedevops") # e.g. com.krausefx.app
- Fastfile
default_platform(:android) desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do gradle( task: "clean" ) gradle( task: 'assemble', #assemble #bundle build_type: 'Release' ) firebase_app_distribution( app: "1:320882145170:android:21837959d5ffc9fe65b34b", firebase_cli_token: "1//0gP2yENNqCT1oCgYIARAAGBASNwF-L9IrqQI9gih5h73FSmaozzyn0HSQXxS7Vyyav2h4zEk4ClMbgmz6CwbEShz_qJVMmTxiGas", ) end
end
Tiếp tục add plugin cho fastlane
fastlane add_plugin firebase_app_distribution
Kích hoạt Firebase Distribution trên Firebase console:
Sau đó ta dùng lệnh để build
cd android && fastlane beta
Khi build thành công ta vào trang Firebase console để kiểm tra xem bản build đã lên chưa
Như vậy bản build đã build thành công, bây giờ mình chỉ cần thêm mail của tester vào để test bản build Android thôi
Cấu hình Firebase cho IOS
Lưu ý phải có tài khoản Enterprise của Apple
Các bạn có thể tham khảo qua github