Fastlane คืออะไร ?
เป็นกลุ่มของเครื่องมือ สำหรับช่วยทำให้สิ่งต่าง ๆ เหล่านี้ง่ายขึ้น
- ขั้นตอนการ deploy และ release app
- สร้างระบบการทำงานแบบอัตโนมัติ
- สร้างระบบการพัฒนาระบบงานแบบอัตโนมัติ
ถูกสร้างมาตามแนวคิด Continuous Delivery (CD) นั่นเอง
ซึ่งแต่ละขั้นตอนของทำงาน หรือ การ build นั้น
เราสามารถจัดเรียงลำดับการทำงานได้เอง
โดยจะเรียกว่า Lane
แสดงดังรูป
ตัวอย่างการนำ Fastlane มาใช้งาน
- สำหรับ 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 ทำให้ทุกคนในทีมใช้งานได้
กลุ่มที่ 2 สำหรับ Android app
- 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 ซะ
ก่อนที่จะทำการติดตั้ง Fastlane ให้ทำการตรวตสอบดังนี้
เริ่มจากตรวจสอบเวอร์ชันของ Ruby ด้วยคำสั่ง
$ruby -v
ต่อมาทำการตรวจสอบว่า ทำการติดตั้ง Xcode Command Line Tool (CLT) แล้วหรือยัง
ด้วยคำสั่ง
$xcode-select --install
เมื่อทุกอย่างเรียบร้อยก็ติดตั้ง Fastlane กันเลย
ด้วยคำสั่ง
$gem install fastlane
จะใช้เวลาในการติดตั้งนานนิดหน่อย ไม่ต้องกังวลนะครับ
รอนิดหน่อย หรือ ไปหาข้าวกินก่อนได้เลย
เมื่อติดตั้งเรียบร้อย เราสามารถใช้คำสั่งนี้ได้
$fastlane
เพียงเท่านี้ก็พร้อมสำหรับเริ่มใช้งาน Fastlane ได้แล้ว
ซึ่งใน blog ต่อ ๆ ไป จะแสดงตัวอย่างการใช้งาน Fastlane สำหรับ iOS app กัน
สุดท้ายแล้ว
สำหรับ iOS Developer และ Android Developer
ไม่ควรพลาดที่จะรู้จักและลองนำ Fastlane ไปใช้งานกันดูครับ
น่าจะช่วยปรับปรุงขั้นตอนการพัฒนาและ deploy app ให้ดีขึ้นกว่าเดิม