continuous-deployment Archive

สรุปสิ่งที่น่าสนใจจาก paper เรื่อง Continuous Deployment of Mobile Software at Facebook (Showcase)

อ่านบทความเรื่อง Rapid release at massive scale จาก Facebook แล้วไปเจอ paper ที่ทาง facebook เขียนไว้คือ Continuous Deployment of Mobile Software at Facebook (Showcase) ตามจริงมี paper ที่เกี่ยวข้องอีกหลายฉบับเลย ใน paper ฉบับนี้มีความน่าสนใจในเรื่อง Release cycle ของ mobile app ทั้ง iOS และ Android การจัดเก็บข้อมูลต่าง ๆ ที่เกี่ยวกับการ release และ deployment การทดสอบระบบงาน มีการสรุปข้อมูลต่าง ๆ ของการพัฒนาอีกด้วย ดังนั้นมาดูกันนิดหน่อย

Read More…

อะไรคือตัวการสำคัญที่ขัดขวางการทำ CI/CD

แนวคิด Continuous Integration และ Continuous Delivery/Deployment นั้น เป็นสิ่งที่สำคัญมาก ๆ สำหรับการพัฒนา software มันไม่ใช่เรื่องของ process เพียงอย่างเดียว มันไม่ใช่เรื่องของ tool เพียงอย่างเดียว มันไม่ใช่เรื่องของ culture เพียงอย่างเดียว มันไม่ใช่เรื่องของทีมพัฒนาเพียงอย่างเดียว แต่มันคือเรื่องของการเปลี่ยนจาก requirement มาเป็นสิ่งที่อยู่ในคนใช้หรือสร้างคุณค่าให้กับลูกค้าและบริษัทนั้น ๆ อย่างต่อเนื่องและมีคุณภาพ

Read More…

เราควรสร้าง Environment ต่าง ๆ ของระบบงานตอนไหนกัน ?

สิ่งที่น่าสนใจในการพัฒนา software คือ เราทำการเตรียม environment ต่าง ๆ เช่น ทั้ง Dev, Test/QA, UAT, Staging, Pre-Prod และ Prod กันตอนไหน ? ที่สำคัญคือ แต่ละ environment นั้นเหมือนหรือต่างกัน ? ซึ่งสิ่งต่าง ๆ เหล่านี้มันสะท้อนความสัมพันธ์ระหว่าง Development team และ Pre/Production team ว่าเป็นอย่างไร

Read More…

ปัญหาที่มักพบเจอกับระบบ Continuous Delivery ของ Mobile app

ในการสร้างระบบ Continuous Integration และ Continuous Delivery สำหรับ Mobile นั้น มีหลายสิ่งอย่างที่ควรคำนึงถึง ไม่ว่าจะเป็น จำนวนของ device ที่แตกต่าง การออกแบบของแต่ละ platform การพัฒนา โครงสร้างของ code การทดสอบ การ deploy การ release โดยสิ่งที่เราต้องการคือ feedback loop ที่รวดเร็ว แน่นอนว่ามันย่อมรวดเร็วกว่าระบบอื่น ๆ อย่างมาก ดังนั้นสิ่งที่เราควรต้องทำการวางแผนงาน จากนั้นลงมือทำและสร้างมันขึ้นมาดังนี้

Read More…

สรุปการแบ่งปันเรื่อง Automated Deployment สำหรับ Mobile App

เพิ่งไปแบ่งปันเรื่องระบบ Automated deployment สำหรับ Mobile app มา โดยประกอบไปด้วยส่วนต่าง ๆ เช่น ระบบ API หรือ Backend ระบบ Mobile หรือ Frontend ทั้ง Android และ iOS มีทั้ง process และเครื่องมือที่ใช้งาน จึงนำมาสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

[แปล] ว่าด้วยเรื่อง Continuous Deployment ของระบบ Instagram

วันนี้เห็นมีการ share บทความเรื่อง Continuous Deployment at Instagram เป็นบทความที่อธิบายขั้นตอนการ deploy ระบบงานของ Instagram ว่าเป็นอย่างไร ดังนั้นจึงทำการแปล และ สรุปส่วนที่น่าสนใจไว้นิดหน่อย ซึ่งถือว่าเป็นแนวทางหนึ่งของการพัฒนา software ที่ดี เริ่มกันเลยดีกว่า

Read More…

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

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

Read More…

ทำอย่างไร ถึงจะได้ feedback ที่รวดเร็ว ?

เรามักจะได้ยินคำว่า Fail Fast Lea[r]n Fast ในการพัฒนา software แบบ incremental และ interactive นั้นเราต้องการ feedback ที่รวดเร็วที่สุดเท่าที่จะทำได้ เพื่อทำให้เรารู้ว่า สิ่งที่ทำอยู่นั้นมันถูกต้อง และ เป็นสิ่งที่ต้องการ ในการพัฒนา software เราต้องการรู้สิ่งต่าง ๆ เหล่านี้อย่างรวดเร็ว สิ่งที่เราสร้างทำงานได้อย่างถูกต้อง ? สิ่งที่คนอื่นสร้างทำงานได้อย่างถูกต้อง ? เมื่อ deploy ระบบงานแล้วยังทำงานได้ ? สิ่งที่พัฒนานั้นมันตรงกับความต้องการของลูกค้า ? ทำให้ business มันดีขึ้น ? ดังนั้นเรามาตอบคำถามต่าง ๆ เหล่านี้กันดีกว่า

Read More…

ทำความรู้จักกับ Fastlane กันหน่อย

Fastlane คืออะไร ? เป็นกลุ่มของเครื่องมือ สำหรับช่วยทำให้สิ่งต่าง ๆ เหล่านี้ง่ายขึ้น ขั้นตอนการ deploy และ release app สร้างระบบการทำงานแบบอัตโนมัติ สร้างระบบการพัฒนาระบบงานแบบอัตโนมัติ ถูกสร้างมาตามแนวคิด Continuous Delivery (CD) นั่นเอง ซึ่งแต่ละขั้นตอนของทำงาน หรือ การ build นั้น เราสามารถจัดเรียงลำดับการทำงานได้เอง โดยจะเรียกว่า Lane

Read More…

การ Deploy Software คือการแก้ไขหรือสร้างปัญหากันแน่ ?

การ deploy มันคืออะไร ? มันคือการพูดถึงขั้นตอนการของนำ code แต่ละบรรทัด ย้ายไปยัง server ต่าง ๆ หรือไม่ ? นั่นหมายความว่า เรากำลังแก้ไขปัญหาบางอย่าง เรากำลังทำงานที่น่าเบื่อซำแล้วซ้ำอีก ไม่ว่าจะใช้เครื่องมือใด ๆ ก็ตาม แต่เรากลับพบว่า เครื่องมือใด ๆ ก็ไม่ใช่ปัญหา แล้วปัญหามันเกิดขึ้นมาได้อย่างไรล่ะ

Read More…