Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ทำการ Deploy Android app ขึ้น Google Play แบบอัตโนมัติด้วย Fastlane Supply

$
0
0

android-deployment

android-deployment วันนี้นั่งสรุปการนำ Fastlane มาใช้กับการพัฒนา Android application โดยในตอนนี้จะมีชุดเครื่องมืออยู่ 2 ตัวคือ
  • Supply สำหรับการแก้ไข Android app บน Google Play เช่น APK และ metadata ต่าง ๆ
  • Screengrab สำหรับการบันทึกรูป screenshot การทำงานของ app ซึ่งทำงานร่วมกับ Espresso หรือ UI Testing
ดังนั้น เราลองนำเครื่องมือทั้งสองมาใช้งานร่วมกันดีกว่า ความต้องการเป็นดังนี้
  • ทำการ build app ด้วย Gradle
  • ทำการทดสอบ UI Test ด้วย Espresso
  • ทำการบันทึกรูป screenshot การทำงานของ app สำหรับ upload ขึ้น Google Play
  • ทำการ upload APK และ metadata ต่าง ๆ ขึ้น Google Play
ดังนั้นมาเริ่มต้นสร้างระบบกันเลยดีกว่า

1. เครื่องมือสำหรับการ Upload APK และ metadata ต่าง ๆ ขึ้น Google Play ชื่อว่า Supply

ข้อจำกัดอย่างหนึ่งของ Supply คือ ต้องทำการสร้าง App และ Upload APK ขึ้น Google Play ก่อนเสมอ จากนั้นก็เริ่มต้นใช้งาน Supply ได้เลย
โดยที่ supply นั้นจะทำงานผ่าน Google Play Developer Publishing API ดังนั้นต้องทำการขอสิทธิ์ในการเข้าใช้งานจาก Google Play Developer Console เสียก่อน แสดงดังรูป deploy-01 จากนั้นให้ทำการสร้าง Service Account key deploy-02 ให้เลือก Key type เป็น JSON และอย่าลืม download มาเก็บไว้ที่เครื่อง ซึ่งผมตั้งชื่อไฟล์นี้ว่า google_play.json เนื่องจากจะต้องใช้ใน suppply นั่นเอง

2. เริ่มใช้งาน supply ผ่าน fastlane กันเลย

ให้สร้าง fastlane project ด้วยคำสั่ง [code]$fastlane init[/code] ให้ทำการแก้ไขไฟล์ Appfile ใน folder fastlane เพื่อใส่ข้อมูล json_key_file สำหรับการใช้งานผ่าน Google Play Developer Publishing API ดังนี้ [gist id="db1e34b556fcc77b7442" file="Appfile"] จากนั้นให้ทำการดึงข้อมูล metadata ต่าง ๆ ของ Android app จาก Google Play ด้วยคำสั่ง [code]$supply init[/code] ทำการดึงข้อมูล metadata ต่าง ๆ ดังนี้มา
  • Title
  • Short description
  • Full description
  • Screenshot ต่าง ๆ
แสดงดังรูป deploy-04

3. ทำการบันทึกรูป screenshot การทำงานของ app ด้วย Screengrab

ซึ่งผมเคยเขียนอธิบายการใช้งาน ไว้ที่ Blog :: ทำการ capture หน้าจอการทำงานด้วย Fastlane Screengrab กัน และนำรูปเหล่านี้มาไว้ใน folder phoneScreenshots เพื่อ upload ขึ้น Google Play ต่อไป

4. ทำการ upload การเปลี่ยนแปลงต่าง ๆ ไปยัง Google Play

ประกอบไปด้วย APK และ Metadata ต่าง ๆ ซึ่งมีขั้นตอนการทำงานดังนี้
  1. ทำการสร้าง APK ที่ signed เรียบร้อย
  2. ทำการ upload สิ่งต่าง ๆ ไปยัง Google Play ด้วย supply
โดยสามารถกำหนดการทำงานผ่าน Fastfile หรือ configuration ของ Fastlane นั่นเอง ในตัวอย่างทำการ upload APK ไปยัง Alpha testing ดังนี้ [gist id="db1e34b556fcc77b7442" file="Fastfile"] เมื่อทุกอย่างเรียบร้อยก็ทดสอบการทำงานด้วยคำสั่ง [code]$fastlane deploy[/code] แสดงผลการทำงานดังนี้ deploy-05

สุดท้ายทำการตรวจสอบผลการทำงานที่ Google Play Developer Console

จะพบว่า
  • ทำการแก้ไข APK ในส่วนของ Alpha testing เรียบร้อย
  • ทำการแก้ไข metadata เรียบร้อย
  • ทำการแก้ไขรูปภาพเรียบร้อย
ข้อมูลของ Metadata แสดงดังรูป deploy-06 รูปภาพการทำงานของ App แสดงดังรูป deploy-07

เพียงเท่านี้เราก็สามารถทำการ

ทำการทดสอบ android app ด้วย Espresso ทำการบันทึกรูป screenshot การทำงานของ app ทำการสร้าง file APK ทำการ upload APK และ metadata ต่าง ๆ ขึ้น Google Play ด้วยชุดคำสั่งเดียวเท่านั้น ..
มันน่าจะทำให้ชีวิตของนักพัฒนา Android app สะดวกสบายมากขึ้นหรือเปล่านะ ?

Viewing all articles
Browse latest Browse all 1997

Trending Articles