Bài viết
Hướng dẫn dùng fastlane để build, up test tự độngsudo gem install fastlane –verbose
Hướng dẫn dùng fastlane để build, up test tự động
Fastlane là 1 công cụ hỗ trợ cho iOS, Android developer trong việc release, build test cực kỳ tốt. Các tính năng chính của nó các bạn có thể tham khảo trên trang chủ: https://fastlane.tools/. Trong khuôn khổ bài viết này, mình sẽ hướng dẫn các bạn dùng Fastlane để build, up file ipa test lên TestFlight hoặc Crashlytics, giúp cho việc test dễ dàng hơn.
Trước hết là so sánh nhanh giữa 2 cu cậu này: Up lên Testflight thì có ưu điểm là dễ cài cắm, build bằng distribution nên sẽ có push và các config y hệt như lúc up lên Appstore, nhược điểm là mỗi khi tăng version thì Apple lại phải review lại khá mất thời gian, mỗi lần up lên Testflight cũng phải đợi processing file ipa mất tầm 10 – 20p. Up lên Crashlytics có ưu điểm là up lên là test được luôn, ko phải kiểm duyệt gì cả, nhược điểm là mỗi lần thêm tester thì phải lấy UDID của máy và tạo lại provision adhoc để build. Chúng ta sẽ đi từng bước, nhưng đầu tiên phần cài cắm:
1. Cài đặt fastlane
1
2
3
|
sudo gem install fastlane -- verbose
|
Hãy đảm bảo là bạn đã cài xCode command line tool:
1
2
3
|
xcode - select -- install
|
Nếu thấy chạy chậm thì chạy lệnh sau:
1
2
3
|
gem cleanup
|
Tiếp đến là init fastlane trong project:
cd [your_project_folder]
1
2
3
|
fastlane init
|
2. Config project để tự động tăng build_index mỗi khi build ipa:
Mở project build setting và tìm đến mục Versioning. Chỉnh mục Current Project Version về số build bạn muốn (VD bằng số build hiện tại trong info.plist), và chỉnh Versioning System về Apple Generic
3. Dùng Fastlane để build, up lên Testflight
Sau khi , trong project folder sẽ có 1 thư mục Fastlane được sinh ra. Mở file [your_project_folder]/fastlane/Fastfile ra để chỉnh sửa:
Comment dòng cocoapod trong before_all lại:
1
2
3
4
5
6
|
before_all do
# ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
#cocoapods # Nếu bỏ comment thì mỗi lần build nó sẽ chạy pod install trước
end
|
Sửa lại setting lane :beta do như sau:
1
2
3
4
5
6
7
|
lane : beta do
increment_build_number
gym ( scheme : "YOUR_PROJECT_MAIN_TARGET" )
pilot ( distribute_external : true , changelog : "New build for testing" )
end
|
Cùng giải thích đoạn code trên:
- increment_build_number: Dòng này để tự động tăng build index mỗi khi chạy
- gym(scheme: “YOUR_PROJECT_MAIN_TARGET”): archive project ra file ipa, lưu ý thay project scheme vào đây
- pilot: lệnh để up file ipa lên itunesconnect
- distribute_external: cho phép test với external testers
- changelog: là changelog khi submit external testing
Sau đó, mở terminal và chạy lệnh sau để thực hiện quá trình build + upload + tự động invite testers trên Testflight:
1
2
3
|
fastlane beta
|
4. Dùng Fastlane để build, up lên Crashlytics
Trước hết là gắn Fabric Crashlytic vào project, mục đích là để có crash report và tracking install:
https://fabric.io/kits/ios/crashlytics/install
Sau đó là tạo nhóm testers trên Crashlytics: vào dashboard của Fabric: https://fabric.io/home => Chọn project hiện tại, VD là project ABC. => Chọn tab Beta ở menu bên trái như trong hình, sau đó add testers tuỳ thích.
Chọn tiếp Manage Groups => New Group => VD đặt tên group là ABCTesters (alias là abctesters) => add thành viên.
Vào tiếp Fabric setting https://fabric.io/settings/organizations, chọn organizations, sau đó bấm vào API Key + Build Secret và lưu 2 key này lại:
1
2
3
4
5
6
|
before_all do
# ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
#cocoapods # Nếu bỏ comment thì mỗi lần build nó sẽ chạy pod install trước
end
|
Sửa lại setting lane :beta do như sau:
1
2
3
4
5
6
7
8
9
10
11
12
|
lane : beta do
increment_build_number
gym ( scheme : "YOUR_PROJECT_MAIN_TARGET" )
crashlytics (
api_token : "CRASHLYTICS_API_TOKEN" ,
build_secret : "CRASHLYTIC_BUILD_SECRET" ,
groups : "abctesters" ,
notes : "Automatic iOS Build"
)
end
|
Cùng giải thích đoạn code trên:
- increment_build_number: Dòng này để tự động tăng build index mỗi khi chạy
- gym(scheme: “YOUR_PROJECT_MAIN_TARGET”): archive project ra file ipa, lưu ý thay project scheme vào đây
- crashlytics: lệnh để up file ipa lên Crashlytics
- api_token, build_secret: key của project trên Crashlytics lấy được ở trên
- groups: tên của group muốn invite
- notes: là changelog khi submit testing
Sau đó, mở terminal và chạy lệnh sau để thực hiện quá trình build + upload lên + tự động invite testers trên Crashlytics:
fastlane beta
Vậy là xong, tranh thủ thời gian đi nhâm nhi tách cafe hoặc ngắm gái và để phần việc còn lại cho Fastlane ヽ(´▽`)/
- Phần mềm quản lý cho thuê xe ô tô thường có những tính năng gì?
- Tối ưu giải pháp cho các công ty bảo hiểm
- app hẹn lịch chăm sóc sắc đẹp, book vé spa, massage
- Ứng dụng quản lý garage trên smartphone và tablet
- Tự động Kiểm tra thông tin người gọi đến | Call Look
- Phân hệ Quản lý Đội xe (Fleet Management) trong một hệ thống ERP thường có gì?
- Giải pháp cho dịch vụ bác sĩ gia đình
- Quản lý chi tiêu, thu/chi kinh doanh, tài chính cá nhân,... trên smartphone
- Happy Life - Cuộc sống mạnh khỏe và hạnh phúc hơn
- Phần mềm quản lý xe thường có những tính năng gì?
- Tra cứu thông tin đăng kiểm cơ giới
- Driver Plus nhắc nhở bảo dưỡng xe, thay nhớt...
DVMS chuyên:
- Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,...
- Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,...
- Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,...
- Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,...
- Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...
Vì sao chọn DVMS?
- DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,…
- DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,…
- DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,…
Quý khách xem Hồ sơ năng lực của DVMS tại đây >>
Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>