หลายคนอาจจะคุ้นเคยกับระบบควบคุมเวอร์ชั่นของซอร์สโค้ดอย่าง CVS หรือ SVN วันนี้ผมจะมาแนะนำ Bazaar ให้อีกตัวครับ Barzaar หรือเราเรียกกันจนชินว่า Bzr เป็นโครงการระบบควบคุมเวอร์ชั่นที่ fork มาจาก GNU Arch ในปี 2004 และในปี 2005 Bazaar ก้อได้เขียนขึ้นมาใหม่ทั้งหมดจนกลายมาเป็น Bazaar หรือ Bzr ที่เราใช้กันอยู่ในปัจจุบัน ใครที่ใช้ LaunchPad ก้อจะได้ใช้ Bazaar อย่างแน่นอนครับ เพราะเป็นระบบควบคุมเวอร์ชั่นที่ใช้ง่ายและมีการจัดการโค้ดได้รวดเร็วใน ครั้งนี้ผมจะมาแนะนำวิธีการติดตั้ง Bazaar Server เพื่อรองรับระบบควบคุมเวอร์ชั่นของโครงการซอฟต์แวร์กันครับ

อันดับแรกมาดูก่อนว่าเราติดตั้ง Bzr แล้วหรือยังลองใช้คำสั่ง

bzr –version

หากพบว่าโปรแกรมแสดงรุ่นมาแล้ว 1.4 หรือ 1.5 ก้อเป็นอันใช้ได้ครับ หากพบว่าโปรแกรมยังไม่ได้ติดตั้งให้ใช้ คำสั่ง

sudo apt-get install bzr

จากนั้นเรามาสร้างผู้ใช้ให้ใช้ run Bzr Server กันครับ โดยใช้คำสั่ง

sudo useradd -m bzruser

จาก นั้นให้เปลี่ยนเป็นผู้ใช้ชื่อ bzruser เพื่อสร้างไดเรคทอรีที่ใช้จัดการไฟล์ ลงใน /home/bzruser/repository/group/project/trunk โดยใช้คำสั่ง

sudo su bzruser
mkdir -p /home/bzruser/repository/group/project/trunk

จากนั้นสั่งให้ Bzr สร้างไฟล์ที่จำเป็นในการทำ branch ดังนี้

cd /home/bzruser/repository/group/project/trunk
bzr init

จากนั้นก้อสั่งเริ่มต้น Barzaar Server ได้เลยโดยใช้คำสั่ง

bzr server –directory=/home/bzruser/repository

พอ ร์ทการทำงานของ Barzaar คือ 4155 ถ้าคุณต้องการเปลี่ยนพอร์ทใหกำหนดโดยใช้ option –port ตอนสั่งเริ่มต้น Barzaar Server  ทีนี้ลองเปิด terminal ออกมาอีกอันแล้วใช้คำสั่ง

bzr check bzr://localhost/group/project/trunk/

โปรแกรมจะบอกว่า repository นี้เป็นเวอร์ชั่น 0 และไม่มีไฟล์เลย เราสามารถ check out ทั้งๆ ที่ไม่มีไฟล์ได้ โดยใช้คำสั่ง

bzr co bzr://localhost/group/project/trunk/

จากนั้นเราก้อเพิ่มไฟล์ของเราลงไปได้เลย และทำการ add, commit และ push เพื่ออัพเดทลงใน repo ที่เราสร้างไว้ได้เลย

Bzr Part#1 ตอน Bzr คือ

ช่วงนี้ได้ใช้ Bzr อยู่เรื่อยๆ ไม่ถึงกับถี่ แต่ก็คือได้ใช้แหล่ะ แล้วก็ ปัญหาเดิมๆที่พบคือ พอไม่ได้ใช้นานแล้วกลับมาใช้อีกที ลืมคำสั่งเรียบร้อย เลยเอามาเขียนเป็นซีรี่ส์ดีกว่า สำหรับตอนแรก ขอเริ่มที่เรื่อง Bzr คือ

Bzr เป็นชื่อย่อมาจาก Bazaar แปลว่าตลาดนัด แต่อันนั้นช่างมันเหอะ ส่วน Bzr ในซีรี่ส์เรื่องยาวของเรานี้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์ตัวหนึ่งครับ ซึ่งเครื่องมือประเภทนี้มีหลายตัว และ Bzr ก็เป็นหนึ่งในนั้น เครื่องมือประเภทนี้เขามีชื่อเรียกอย่างเป็นทางการว่า Version Control System (VCS) ส่วนซอฟต์แวร์ที่เป็นที่นิยมใช้กันที่จะคุ้นๆหูหน่อยก็จะมี CVS, SVN

ความสามารถโดยทั่วไปของซอฟต์แวร์ระบบ VCS ก็จะประมาณนี้ครับ

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

ส่วน Bzr ของเรานี้ถือว่าเป็นน้องใหม่ในโลกของ VCS ครับ เพราะเพิ่งถูกพัฒนาขึ้นมาได้ไม่นานนัก แต่ก็สามารถมั่นใจได้ในคุณภาพของ Bzr ครับ เพราะถูกพัฒนาโดย Canonical ผู้ที่พัฒนา Ubuntu ของเรานี่เองครับ และ Bzr ก็ถือกำเนิดขึ้นมาเพื่อใช้งานกับการพัฒนา Ubuntu โดยเฉพาะครับ

ทิ้งห่างจากตอน1 ไปพักใหญ่จนเกือบลืมไปแล้ว ก็กลับมาต่อกันนะครับ จากครั้งก่อนที่แนะนำให้รู้จัก Bzr ไปแล้ว คราวนี้มาลองติดตั้งและใช้งานเบื้องต้นกัน

การติดตั้ง Bzr บน Ubuntu นั้น ง่ายเสียยิ่งกว่าหายใจ เข้า-ออก อีก (แต่ติดบนวินโดวส์รอจนลืม) วิธีติดตั้งก็ไม่ยากครับ เปิดเทอร์มินอล สั่ง sudo apt-get install bzr แล้วก็รอสักพักนึงครับ

เสร็จแล้วลองพิมพ์ bzr ใน Terminal แล้ว Enter ดูครับ ถ้ามันแสดงอะไรขึ้นมาให้เราเห็นก็แปลว่าเรียบร้อย

ทีนี้ คำสั่งที่จะได้ใช้ บ่อยๆนะครับ

  • bzr init สร้าง Repository ของซอฟต์แวร์ที่จะใช้กับ Bzr ครับ
  • bzr branch สำหรับดึงไฟล์ลงมาจาก Repository ที่กำหนด
  • bzr add เพิ่มไฟล์เข้าไปใน Repository ในเครื่องเรา
  • bzr commit ยืนยันการเปลี่ยนแปลงในครั้งนั้นๆ พร้อมกำหนดให้เป็นอีก 1 revision
  • bzr push ส่งไฟล์ที่เปลี่ยนแปลงแล้วในเครื่องเรากลับไปที่ Repositor

สำหรับคราวหน้า เดี๋ยวมาลองใช้กันดูทีละคำสั่งเลยครับ