Fastlane คืออะไร ?
เป็นกลุ่มของเครื่องมือ สำหรับช่วยทำให้สิ่งต่าง ๆ เหล่านี้ง่ายขึ้น
- ขั้นตอนการ deploy และ release app
- สร้างระบบการทำงานแบบอัตโนมัติ
- สร้างระบบการพัฒนาระบบงานแบบอัตโนมัติ
- สำหรับ iOS app เราสามารถทำการ deploy app ไปยัง Apple Store เพียงใช้คำสั่งเดียว
- สำหรับ Android app เราสามารถทำการ deploy app ไปยัง Google Play Store เพียงใช้คำสั่งเดียว
- ลดเวลาในการ deploy app ลงไปอย่างมาก
- ทำให้มีเวลาไปปรับปรุงคุณภาพของ app มากขึ้น
- ทำให้เราสามารถ deploy ระบบงานแบบเล็ก ๆ ได้ตลอดเวลา
- ทำให้ใคร ๆ ในทีมก็สามารถ deploy ระบบงานได้
มาดูว่า Fastlane มีเครื่องมืออะไรให้ใช้งานกันบ้าง ?
โดยแบ่งออกเป็น 2 กลุ่มหลัก ๆ คือ กลุ่มที่ 1 สำหรับ iOS app- Deliver สำหรับการ upload screenshot และ metadata ขึ้นไปยัง App Store
- Snapshot สำหรับการบันทึก screenshot ของ app ในแต่ละ device ซึ่งทำงานร่วมกับ UI Testing
- Frames ช่วยทำให้การบันทึก screenshot ให้ถูกต้อง
- PEM สำหรับจัดการ profile ของระบบ push notification
- Sigh สำหรับจัดการ provisioning profile ต่าง ๆ ของ app
- Produce สำหรับการสร้าง iOS app บน iTune Connect และ Apple Developer Portal
- Cert สำหรับทำการ sign certificate ให้กับ app เมื่อทำงานสำเร็จ ก็เรียกใช้งาน Sign ต่อได้เลย
- Scan สำหรับทำการ run test ต่าง ๆ ของ app ทั้ง Unit Test และ UI Test ทำให้ชีวิตง่ายขึ้นอย่างมาก เนื่องจากการใช้งาน xcodebuild มันยากมาก
- Gym สำหรับการ build และ packaging iOS app ผลที่ได้คือไฟล์ ipa ที่ทำการ sign certificate เรียบร้อยแล้ว
- Match สำหรับการ sync พวก certificate และ profile ต่าง ๆ ผ่าน git ทำให้ทุกคนในทีมใช้งานได้
- Supply สำหรับการ upload screenshot และ metadata ขึ้นไปยัง Google Play Store
- Screengrab สำหรับการบันทึก screenshot ของ app ในแต่ละ device ซึ่งทำงานร่วมกับ Esspresso หรือ UI Testing ซึ่งผมเคยเขียน blog อธิบายไว้แล้วที่นี่
Software ที่จำเป็นสำหรับ Fastlane
ประกอบไปด้วย- OSX 10.9 ขึ้นไป
- Ruby 2.0 ขึ้นไป
- Xcode
- จ่ายเงินสำหรับ Apple Developer Account ซะ