continuous-integration Archive

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

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

Read More…

[iOS]แนะนำ trainer เครื่องมือสำหรับการสร้างผลการทดสอบในรูปแบบ JUnit

ในการทดสอบ iOS app ผ่านระบบ Continuous Integration นั้น จำเป็นต้องทำการทดสอบทั้ง Unit test และ UI test และสร้างผลการทดสอบในรูปแบบ JUnit เพื่อสรุปผลการทดสอบต่าง ๆ ให้ง่ายและชัดเจน ปกติจะใช้ xcpretty ร่วมกับ xcodebuild แต่ว่าจะลำบากขึ้นเมื่อใช้งานร่วมกับ XCode 8 ดังนั้นทางผู้พัฒนา fastlane ก็ได้สร้างเครื่องมือใหม่ชื่อว่า trainer ขึ้นมา ซึ่งใช้ง่ายกว่า และ ทำการได้รวดเร็วกว่า ดังนั้นลองมาใช้งานกันดูหน่อย

Read More…

Continuous Integration และ Testing ควรอยู่ด้วยกันเสมอ

ในการพัฒนา software ได้นำเอาแนวคิด Continuous Integration(CI) เข้ามาใช้งาน ซึ่งผมคิดว่าเป็นสิ่งที่ขาดไม่ได้เลย เพื่อช่วยทำให้ทีมทำการ integrate บ่อย ๆ เพื่อช่วยทำให้ software ที่สร้างค่อย ๆ เติบโตอย่างยั่งยืน เพื่อช่วยทำให้ทีมได้รับ feedback กลับมาอย่างรวดเร็วทั้งดีและร้าย เพื่อจะได้แก้ไขและปรับปรุงได้อย่างทันท่วงที แต่สิ่งที่น่าแปลกใจก็คือ ไม่นำการทดสอบ (Testing) เข้ามาร่วมทำงานกับ Continuous Integration !!

Read More…

ความเข้าใจผิดเกี่ยวกับ Continuous Integration และ Continuous Delivery

เมื่อมีการพูดถึงคำว่า Continuous Integration (CI) และ Continuous Delivery (CD) แล้ว คนส่วนใหญ่มักจะคิดถึง หรือ พูดถึงเครื่องมือต่าง ๆ ก่อน ไม่ว่าจะเป็น Jenkins บ้างล่ะ ไม่ว่าจะเป็น Bamboo บ้างล่ะ ไม่ว่าจะเป็น Travis CI บ้างล่ะ ไม่ว่าจะเป็น Circle CI บ้างล่ะ ไม่ว่าจะเป็น Docker บ้างล่ะ ไม่ว่าจะเป็น Ansible บ้างล่ะ

Read More…

ทำอย่างไร ถึงจะได้ 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…