ในการทำงานร่วมกันนั้นมีโค้ดที่ทำจากหลายๆ คนสร้างขึ้นมาและนำมารวมกัน แต่ปัญหามักจะเกิดขึ้นคือ

  • รวมโค้ดเข้าด้วยกันได้ยากและใช้เวลานานขึ้นเมื่อทิ้งไว้โค้ดที่เราทำไว้นาน
  • ทำให้การทำงานของซอฟต์แวร์ผิดเพี้ยนไปหรือที่เรียกว่า “บั๊ก” อันเนื่องมาจากการรวมโค้ด
  • เมื่อเกิดบั๊กทำให้สูญเสียเวลาในการแก้ไขและ debug นาน
  • สูญเสียเวลาทั้งที่ควรเอาไปพัฒนาฟีเจอร์ของซอฟต์แวร์

เมื่อมีปัญหาเช่นนั้นจึงเกิดแนวคิดที่เรียกว่า “Continuous Integration” ขึ้นมาโดย

  • รวมโค้ดเข้าด้วยกันบ่อยๆ ยิ่งบ่อยเท่าไหร่ยิ่งดี (ทุก commit ของโค้ดที่เราสร้าง)
  • มีชุดทดสอบเพื่อสามารถทดสอบย้อนหลังได้รวดเร็ว เพื่อตรวจหาปัญหาอันเนื่องมาจากการรวมโค้ดเข้าได้กัน
  • โดยแนวคิดนี้เราสามารถนำไปใช้งานได้ง่ายๆ โดยผู้พัฒนา check-in โค้ดมาทำการทดสอบอย่างต่อเนื่อง บ่อยๆ ทุกคน และดูว่ามีปัญหามั้ยอย่างไรไงล่ะ

แต่ปัญหาที่ตามมาคือเมื่อทีม และโค้ดของเราใหญ่ขึ้นการจะมาทำแบบนั้นคงเป็นไปได้ลำบาก คำถามคือมีเครื่องมืออะไรที่มาช่วยเราได้บ้างหรือไม่? คำตอบคือ “นำเครื่องมือมาใช้งานซะสิ” ซึ่งเราจะนำเครื่องมือที่มีชื่อว่า “Jenkins” มาติดตั้งและใช้งานกัน


Continue reading

ครั้งที่แล้วนำเสนอเรื่อง GitLab ไปมีพาดพิงเรื่อง CI (Continuous Integration) ไปนิดหน่อย ซึ่ง GitLab เองก็มีโครงการ GitLab CI เช่นกัน พูดถึง CI หลายท่านที่ใช้เครื่องมือแบบนี้อยู่แล้วก็คงต้องบอกว่า Jenkins เจ๋งสุด! แหมใช้ GitLab แล้วจะไปทำ CI ใน Jenkins ก็จะดูแปลกๆ มาใช้ GitLab CI กันดีกว่า :) GitLab CI แบ่งโครงการออกเป็น 2 ส่วน คือ

  • GitLab CI หน้าเว็บหลักของ GitLab CI
  • GitLab CI Runner เป็นส่วน Builder สามารถแยกหรืออยู่ร่วมกับ GitLab CI ได้

ครั้งนี้เราจะมาติดตั้ง GitLab + GitLab CI กัน โดยใช้วิธีที่ง่ายมากมากมาก โดยใช้ตัวติดตั้งของ Bitnami สำหรับวิธีปกติดูได้ที่เว็บโครงการ GitLab CI ครับ

ขั้นแรกดาวน์โหลด GitLab มาก่อน

wget http://downloads.bitnami.com/files/stacks/gitlab/6.9.2-1/bitnami-gitlab-6.9.2-1-linux-x64-installer.run

จากนั้น chmod ให้ execute ได้

chmod +x bitnami-gitlab-6.9.2-1-linux-x64-installer.run

ติดตั้งด้วยคำสั่ง

./bitnami-gitlab-6.9.2-1-linux-x64-installer.run


Continue reading