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

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

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

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

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


Continue reading

GitLab รองรับการทำงานเป็นทีมได้ โดยเราสามารถเพิ่มผู้ใช้ กำหนดสิทธิืการใช้งาน และกำหนดสมาชิกให้แต่ละโครงการได้ ครั้งนี้เราจะมาดูวิธีการจัดการผู้ใช้ใน GitLab พร้อมทั้งปรับแต่งและกำหนดสิทธิกัน การสร้างผู้ใช้สำหรับใช้งาน ให้เรากดที่ไอคอนฟันเฟืองที่มุมด้านขวาบน (ถ้าเอาเมาส์ไปวางบนไอคอนจะเรียกชื่อว่า Admin area)

จากนั้นให้เรากด New User และจะเห็นฟอร์มสำหรับกรอกข้อมูล user


Continue reading

GitHub มีบริการ Issue ให้ใช้งานเพื่อนำเสนอฟีเจอร์ใหม่เข้าไป​เพื่อเพิ่มเรื่องต่างๆ ในโปรเจค รายงานปัญหาของโปรเจค แก้ไขปัญหาโดยการส่งเฉพาะส่วนที่แก้ไขเข้าไปหรือเรียกว่า Pull Requestในครั้งนี้เราจะมาดูว่าจะสร้างและใช้งาน Issue ขั้นตอนแรกให้เรา Sign in GitHub account ของเราซะก่อน จากนั้นไปที่โปรเจคของเรา โดยในตัวอย่างจะใช้ชื่อว่า panko จากนั้นไปที่ Issue ที่ด้านขวามือ


Continue reading

Gist เป็นหนึ่งในบริการของ GitHub ที่นิยมนำมาใช้ในการวางโค้ดตัวอย่าง แบ่งปันโค้ดที่มีจำนวนไฟล์ไม่เยอะเรามาดูกันซิว่ามันใช้งานยังไง ให้เข้าไปที่ https://gist.github.com เมื่อเข้าไปได้จะเห็นช่องให้ใส่คำอธิบาย, ชื่อไฟล์และช่องให้วาง Code ที่เราต้องการจะแบ่งปันลงไปดังรูป

หากต้องการไฟล์ให้เรากด Add file เพื่อเพิ่มไฟล์เข้าไปใหม่ เมื่อเราใส่เข้าไปจนพอใจแล้วจะมีปุ่มให้กดอยู่สองปุ่มคือ

  • Create secret gist สำหรับแบ่งปันให้เฉพาะคนที่ได้รับ link จากเราไปเท่านั้น
  • Create public gist สำหรับแบ่งปันให้ใครก็ได้ที่มาเห็นของเรา


Continue reading

หลังจากที่เราติดตั้ง GitLab ไปแล้ว ต่อมาเราจะมาทำการสร้าง Project เพื่อนำมาใช้สำหรับเก็บซอร์สโค้ดและทดลองใช้งานกัน

ปล. ผมขออ้างอิงต่อจากโพสการติดตั้ง GitLab นะครับ

ขั้นตอนแรก สร้าง Project สำหรับใช้งาน ให้เรา Log In ไปที่ root user ของเรา


Continue reading

ในการพัฒนาซอฟต์แวร์เราจำเป็นต้องเก็บซอร์สโค้ดไว้ในเวอร์ชั่นคอนโทรล (version control) เพื่อที่บันทึการเปลี่ยนแปลงต่างๆ ในซอร์สโค้ดของเราและการทำงานร่วมกับทุกคนในทีม ซึ่งซอฟต์แวร์ประเภทเวอร์ชั่นคอนโทรลที่นิยมกันในปัจจุบันนั้นก็คือ Git และก็มีคลาวด์เซอร์วิสที่ควบคุมการทำงาน Git อีกทีเพื่อเราทำงานกับคนในทีมได้สะดวกยิ่งขึ้นด้วย เช่น GitHub, Bitbucket เป็นต้น เซอร์วิสอย่าง GitHub หรือ Bitbucket มีบางอย่างที่ไม่ตอบโจทย์ระดับองค์กรเหมือนกัน เช่น ไม่รองรับจำนวนคนในองค์กรได้ การใช้งาน repository อาจจะไม่เพียงพอ หรืออยากเก็บซอร์สโค้ดเป็นความลับในองค์กรทำให้เราไม่อยากฝากไว้กับผู้ให้บริการภายนอก เป็นต้น เพราะฉะนั้นจึงมีคนคิดค้นให้เซอร์วิสพวกนี้ให้ทำงานได้สำหรับองค์กร ซึ่งมีชื่อว่า GitLab
Continue reading