continuous-integration Archive

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

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

Read More…

ปรับปรุงคุณภาพของ Software ด้วย Continuous Integration Process กันนะ

วันนี้มีโอกาสได้แบ่งปันความรู้เรื่อง Continuous Integration (CI) สำหรับปรับปรุงคุณภาพของการพัฒนา Software ให้ดีขึ้น โดยหัวใจของ CI นั้นประกอบไปด้วย 2 คำคือ Continuous หรือ Frequent คือ ทำบ่อย ๆ อย่างต่อเนื่อง Integrate หรือ Merge คือ การรวมกันของสิ่งต่าง ๆ ในระบบ รวมกันก็หมายความว่า ให้ทำการรวมกันบ่อย ๆ อย่างต่อเนื่อง มีคำถามที่น่าสนใจคือ อะไรที่ต้องนำมารวมกันบ้าง ? ทำการรวมกันที่ไหน

Read More…

สวัสดีกับ Jenkins 2.0 Preview กันหน่อย

ตอนนี้ Jenkins 2.0 Preview ถูกปล่อยออกมาเพื่อให้ทดสอบใช้งานกันแล้ว โดยใน version ใหม่นี้ทำการปรับปรุงความสามารถหลายอย่าง ทั้งเรื่องของ Delivery pipeline ซึ่งจัดการด้วย code กันเลย การติดตั้งแบบใหม่ มีให้เลือก plugin ก่อนด้วย ทำการปรับปรุง User Interface และ Usability ต่าง ๆ อีกด้วย ยังทำงานกับ version เก่า ๆ ได้ ดังนั้นมาดูรายละเอียดในแต่ละข้อกันดีกว่า

Read More…

Time to Main คือตัวชี้วัดที่ดีสำหรับ Continuous Integration

จากหนังสือ Beautiful Builds ทำการอธิบายเกี่ยวกับ Time to Main หรือ Time to Trunk ซึ่งเป็นสิ่งที่ใช้วัดเรื่อง Continuous Integration มาดูกันว่า Time to Main มันคืออะไร ? และมันใช้วัดอย่างไร เพื่ออะไร

Read More…

มาสร้าง Workflow การทำงานสำหรับ Fail Fast กัน

จากบทความเรื่อง Model everything to fail fast ทำการอธิบายเกี่ยวกับ การออกแบบ workflow สำหรับ Fail Fast ได้อย่างน่าสนใจ ทุก ๆ ครั้งที่ทีมพัฒนาทำการแก้ไขสิ่งต่าง ๆ ไม่ว่าจะเป็น code ไม่ว่าจะเป็น database ไม่ว่าจะเป็น automated testing ไม่ว่าจะเป็น infrastructure ไม่ว่าจะเป็น deployment script ไม่ว่าจะเป็น configuration file เราต้องใช้เวลานานเท่าไร กว่าจะรู้ว่าสิ่งที่แก้ไขไปนั้นมันถูก หรือ ผิด

Read More…

ทีมพัฒนาของ Stripe ปรับปรุงเวลาการทดสอบให้เร็วขึ้นได้อย่างไร ?

Stripe คือ payment service สำหรับระบบที่ต้องการจ่ายเงินผ่าน internet โดยทีมพัฒนาทำการเขียนบทความเรื่อง การลดเวลาทดสอบจาก 3 ชั่วโมงเหลือเพียง 3 นาที ซึ่งในบทความมีแนวคิดที่น่าสนใจมากมาย ดังนั้น เรามาดูกันหน่อยสิ ว่ามีวิธีการอย่างไรบ้าง

Read More…

ลองมาตรวจสอบระบบ Continuous Integration ของคุณกันหน่อยสิ

หนึ่งในแนวปฏิบัติของ Extreme Programming (XP) ที่ได้รับความนิยมอย่างสูงนั่นก็คือ Continuous Integration (CI) ซึ่งมันได้เข้ามาเป็นส่วนหนึ่งของการพัฒนา software ไปแล้ว ลองคิดดูสิว่า ถ้าคุณขาด CI ไปแล้ว คุณจะพัฒนา software ได้อย่างไร ? ในปัจจุบัน มีระบบ และ เครื่องมือ สำหรับการสร้างระบบ CI มากมาย ตั้งแต่ขั้นตอนการ build, test, deploy และ monitoring แต่แปลกนะ !! ปัญหาก็ยังเกิดขึ้นมากมาย แม้จะมีระบบ CI แล้วก็ตาม ดังนั้นลองมาตรวจสอบกันหน่อยสิว่า ระบบ CI ของคุณเป็นอย่างไรกันบ้าง ? เพื่อใช้เป็นแนวทางในการปรับปรุง และ ลดปัญหาต่าง ๆ ที่เกิดขึ้น

Read More…

มาดูวิธีการพัฒนาระบบ Payment ของ LinkedIn กันดู

ทีมพัฒนาระบบ Payment ของ LinkedIn ทำการเขียนบทความอธิบายขั้นตอนการพัฒนาไว้ที่ Getting Code to Production With Less Friction and High Quality โดยหัวใจของบทความนี้คือ Release ระบบให้บ่อยๆ แต่ละ Release ต้องมีคุณภาพที่สูง ดังนั้น เรามาดูกันว่าเขาทำอย่างไรบ้าง

Read More…

สรุปการใช้งาน Jenkins ร่วมกับ PHP project แบบง่ายๆ

ในการพัฒนาระบบงานด้วย PHP นั้น มีหลายคน ถามว่า ถ้าต้องสร้างระบบ Continuous Integration (CI System) ล่ะ จะต้องทำอย่างไรบ้าง ? ผมเลยสรุปในแบบที่ผมทำอยู่ก็แล้วกัน เพื่อทำให้เห็นภาพ และ เข้าใจว่าเป็นอย่างไร

Read More…

มาดูการพัฒนา Home page ใหม่ของ LinkedIn กัน

จากบทความเรื่อง New technologies for the new LinkedIn home page ทีมพัฒนาของ LinkedIn ได้ทำการอธิบายการพัฒนา Home page ใหม่ โดยได้อธิบายเรื่องเทคโนโลยีที่ใช้ โครงสร้างของระบบ รวมทั้งขั้นตอนการพัฒนา มันดูกันว่า เป็นอย่างไรกันบ้าง

Read More…