continuous-integration Archive

บันทึกการเดินทาง Microservices Journey

เริ่มต้นจากสถาปัตยกรรมของระบบงาน (Application Architecture) สถาปัตยกรรมของ software นั้นมีหลากหลายรูปแบบ แต่แนวโน้มของสถาปัตยกรรมต่าง ๆ ล้วนพยายามแยกส่วนการทำงานออกเป็นชิ้นเล็ก (Decomposition) โดยแต่ละชิ้นต้องทำงานได้ด้วยตัวเอง (Service) ระบบงานใหญ่ ๆ เรามักจะเรียกว่า Monolithic ส่วนระบบงานที่เราทำการแบ่งเป็น Service เล็ก ๆ จะเรียกว่า Microservice

Read More…

สรุปสิ่งที่น่าสนใจจากหนังสือ Accelerate: The Science of Lean Software and DevOps

ช่วงวันหยุดหยิบหนังสือ Accelerate: The Science of Lean Software and DevOps มาอ่าน เป็นหนังสือที่สรุปส่วนประกอบต่าง ๆ ที่ช่วยให้บริษัท IT ขับเคลื่อนได้อย่างดี (high-performance) ทั้งองค์กรและทีม โดยทำการสรุปข้อมูลมาจาก State of DevOps Report ตั้งแต่ปี 2014 จาก State of DevOps Report นั้น ทำให้เข้าใจได้ว่า การนำแนวคิด DevOps นั้น ต้องนำแนวปฏิบัติ (Practice) อะไรมาใช้บ้าง ? วัฒนธรรมขององค์กรต้องเอื้อและสนับสนุนอย่างไร ? เพื่อปรับปรุงการพัฒนาและส่งมอบระบบงานให้เร็วและมีคุณภาพ (Correctness, Performance และ Security) ส่งผลให้ได้รับ feedback เพื่อปรับปรุง

Read More…

เรานำแนวคิดของ Continuous Integration มาใช้หรือไม่ ?

วันนี้อ่านหนังสือเรื่อง Continuous Integration ไปเจอชุดคำถามที่น่าสนใจว่า เรากำลังนำแนวคิดและแนวปฏิบัติของ Continuous Integration มาใช้งาน หรือเราเพียงนำเครื่องมือที่เรียกว่า Continuous Integration Tool มาใช้เท่านั้น ดังนั้นลองมาตอบคำถามเหล่านี้กันหน่อย

Read More…

สรุปการแบ่งปันเรื่อง Continuous Integration ด้วย Jenkins ที่ SWPark

สัปดาห์ที่ผ่านมามีโอกาสสอนและแบ่งปัน เรื่อง Continuous Integration and Delivery with Jenkins ที่ Software Park เป็นเวลา 2 วัน จึงทำการสรุปสิ่งที่สอนและแบ่งปันไว้นิดหน่อย

Read More…

เมื่อคุณค่าของ Continuous Integation ถูกทำลาย

ว่าด้วยเรื่อง Continuous Integration นั้น มันช่วยลดปัญหา หรือ ช่วยหาข้อผิดพลาดของระบบ ที่มีการเปลี่ยนแปลงอยู่ตลอดเวลา แน่นอนว่ามีคุณค่า (Value) มากมาย แต่บ่อยครั้งกลับพบว่า คุณค่าเหล่านั้นของ Continuous Integration ถูกลดค่าหรือทำลายลงไป ดังนั้นมาดูกันหน่อย

Read More…

สิ่งที่ได้รับจาก Angular Developers Thailand Meetup ประจำเดือนมกราคม 2018

เมื่อวานตอนเย็นได้ไปร่วมงาน Angular Developers Thailand Meetup January 2018 จากลุ่ม Angular Developer Thailand จัดที่ HANGAR Coworking Space by DTAC โดยครั้งที่มีหัวข้อดังนี้ Create package on NPM Make readable code in Angular with Lettable(Pipe) Operator Angular CI/CD with DroneCI เนื่องจากไปช้าจึงได้ฟังเฉพาะหัวข้อที่ 2 ปลาย ๆ กับหัวข้อที่ 3 และมีการให้ถามตอบคำถามต่าง ๆ จากคนที่เข้ามาพูดและฟัง มีหลายอย่างที่น่าสนใจดังนี้

Read More…

สรุปเรื่องโครงสร้าง project ภาษา Go ที่ DigitalOcean

ทีมพัฒนาของ Digitalocean นั้นได้ออกมาเล่าถึงประสบการณ์การพัฒนาระบบงานด้วยภาษา Go ซึ่งเป็นระบบงานภายในชื่อว่า Cthulhu โดยเป็นระบบงานที่ใช้งาน version control แบบ Monorepo นั่นคือ code ทุกสิ่งอย่างอยู่ใน repository เดียวกัน แม้ว่าจะมีมากกว่า 1 project ก็รวมกันอยู่ในนี้ แน่นอนว่า ต้องเจอปัญหาต่าง ๆ มากมาย ทั้งเรื่องของโครงสร้าง ทั้งเรื่องการ scale ทั้งเรื่องของการจัดการ dependency ต่าง ๆ ทั้งเรื่องของเครื่องมือที่ใช้งาน ทั้งเครื่องของเวลาในการ build ของ CI server ทั้งเรื่อง code ownership มาดูกันว่าทางทีม Digitalocean ทำอย่างไรบ้าง ? น่าสนใจมาก ๆ

Read More…

บันทึกการติดตั้ง Continuous Integration Server ด้วย Jenkins ใน Give&Take ที่เชียงใหม่

ตั้งแต่วันที่ 29 กันยายน ถึง 1 ตุลาคม มีโอกาศมาแบ่งปันที่เชียงใหม่ ในงาน Give and Take :: Agile for Software Development ซึ่งครั้งที่จัดที่ CAMT (College of Arts, Media and Technology ) โดยครั้งนี้ทำการติดตั้งและ configuration ระบบ Continuous Integration Server ด้วย Jenkins ไว้ เลยนำมาสรุปไว้นิดหน่อย

Read More…

ว่าง ๆ มาติดตั้ง Continuous Integration Server ใช้บนเครื่องด้วย Buildpal กัน

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

Read More…

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

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

Read More…