อยากขอความเห็น / ประสบการณ์เรื่องการจัดการโครงสร้างโปรเจคบน Github แบบที่จะกล่าวต่อไปนี้ โดยต้องเอาไปใช้ได้บน CI/CD ได้ด้วยครับ.
-
ตัวโครงสร้างเป็น Phonegap Application ทั่วๆไปที่ต้องออก package ทั้ง Android และ iOS
-
ต้องออก package ให้หลายๆสาขาใช้ โดยผมจะแยก config.xml, icon, resource ของแต่ละสาขาไปเลย แต่ใช้ source code หลักตัวเดียวกันเป๊ะๆ.
คือถ้าเปรียบเทียบกับวิธี manual เลยคือ
-
ก๊อปปี้ config.xml, icon, resource ของสาขา 1 ไปวางให้ถูกที่ แล้ว build ให้ได้ Android + iOS
-
พอจะ Build สาขา 2 ก็ทำแบบเดิมในข้อ 1 เพียงแต่ resource ที่จะ copy จะเป็นของสาขา 2 เท่านั้นเอง
เลยอยากถามว่าควรมีโครงสร้างโปรเจคและมี workflow ตอน build ยังไงถึงจะเหมาะครับ.
ถ้าไม่แตกต่างกันมาก
mr_tawan Thu, 25/07/2019 - 20:09
ถ้าไม่แตกต่างกันมาก ผมคงใช้สคริปท์เดียว แต่เขียนให้รับพารามิเตอร์ว่าเป็น build สำหรับสาขาไหน แล้วให้ตัว build ไปดึงเอาไฟล์ที่ถูกต้องมาเอง
อย่าง gradle ก็ใช้ -P ในการส่งพารามิเตอร์เข้าไปใน build task นั้นได้ครับ ใน build task ก็ต้องแก้ให้มันไปใช้ไฟล์ที่ถูกต้องจากแต่ละสาขามา อะไรแบบนี้
ไม่ควรเก็บ config ไว้ใน code
ripzery Wed, 14/08/2019 - 21:16
ไม่ควรเก็บ config ไว้ใน code ครับ ตาม 12 factors (https://12factor.net/th/)
ผมมองว่า resource ที่พูดถึงก็คือ config ทั้งหมด ที่ควรแยกออกมาใส่ไว้ใน environment variables แยกเป็นชุดๆของแต่ละสาขาที่พูดถึงครับ
ตอน build time ค่อยไปดึง variables มาให้ถูกครับ