ทำ Git Server ในทีม ด้วย GitBucket platform on JVM

บทความนี้ไม่อธิบายเรื่อง Git คืออะไร ,Git Server คืออะไร และเอาไว้ทำอะไร แต่จะเป็นการมาเล่าสู่กันฟังมากกว่า พอดีมีปัญหาเหล่านี้ GitBucket มันมาช่วยแก้ก็เท่านั้นเอง

Image for post
Image for post

ปัญหาเหล่านี้ไงเป็นสิ่งที่ทำให้เลืิอก Gitbucket

  1. มี internal server ที่เป็น Red Hat Enterprise Linux 7
  2. ไม่สามารถต่อ internet จากภายนอกได้
  3. ความรู้เรื่อง Unix ก็ไม่ค่อยเชียวชาญ
  4. ประสบการณ์เป็น Dev Java มาหลายปี
  5. อยากได้ Project Opensource (Free) เพื่อลองให้น้อง ๆ ในทีมเอาไว้ใช้งาน
  6. Database ที่มีข้อจำกัดว่าไม่มี Database อะไรเลยที่ Server
  7. บน internal Server มีการ install Java 8 อยู่แล้ว

ขอขอบคุณที่ช่วยในการตัดสินใจ https://www.cyberciti.biz/open-source/github-alternatives-open-source-seflt-hosted/

GitBucket น่าสนใจอย่างไร

อันที่จริงผมเองก็เพิ่งจะได้ลองติดตั้งและใช้งานได้ไม่นาน โดยลึก ๆ เองแล้วความสามารถของ GitBucket อาจจะมีมากกว่านี้แต่ก็จะลองสรุปไว้คร่าว ๆ เท่านี้ก่อน

  1. Run On JVM เพราะตัว Project เอง Impl ด้วย Scala
  2. ใช่ Jetty เป็น web server ในการ run http
  3. ใช้ H2 เป็น Database สำหรับเก็บข้อมูล
  4. มีระบบ Manage Users ที่สามารถกำหนด Level , Group ได้
  5. มี Issues Tracker ให้ติดตามเหมือนกับ Github รวมถึงการ Pull Request ,
  6. มี Plugins เสริมให้ติดตั้งเพิ่มเติม ที่น่าสนใจหลาย Plugin เช่น gitbucket-label-kanban-plugin ,gitbucket-ci-plugin , gitbucket-ipynb-plugin เพิ่มเติม สนใจคลิก
Image for post
Image for post

และความสามารถอื่น ๆ อีกเพียบเรียกว่าถ้าเคยใช้ Github ได้ความสามารถใกล้เคียงกันเลย

มี Demo ให้ลองเล่นก่อนตัดสินใจติดตั้งมาใช้งาน Gitbucket Demo (root,root)

การติดตั้ง

เพราะเป็น Project ที่ Run On JVM environment จำเป็นต้องมี JRE(Java Runtime Environment) ซะก่อน

  1. ติดตั้ง JRE 1.8 (set PATH ให้พร้อมใช้งานด้วยนะ)
  2. download Gitbucket.war
  3. run คำสั่ง java -jar gitbucket.war
    เพิ่มเติม args options อื่น ๆ
  • --port=[NUMBER]
  • --prefix=[CONTEXTPATH]
  • --host=[HOSTNAME]
  • --gitbucket.home=[DATA_DIR]
  • --temp_dir=[TEMP_DIR]
  • --max_file_size=[MAX_FILE_SIZE]

4. ทดสอบเข้า http://[hostname]:8080 (user : root , pass : root)

Image for post
Image for post

5. หากอยากติดตั้ง Plugins เพิ่มเติมก็ให้ เข้าไปเลือก plugin Gitbucket และ Download Source Code จากนั้น sbt package เพื่อที่จะ pack source ของ Plugin ให้ได้ xxx.jar ไฟล์ จากนั้นก็ให้ทำ xxx.jar ไปวางใน directory GITBUCKET_HOME/plugins และ Restart service gitbucket ก็จะได้ Plugin มาใช้ฟรี เลยวิธีนี้ค่อนข้างสะดวกและง่ายดี

บทความี้เพียงแค่อยากจะบอกว่าการที่จะทำ private Git Server ใช้เองนั้นไม่ยากเลยแถมฟรีอีกด้วย ยังไง claps เพื่อเป็นกำลังใจด้วยนะครับ

Written by

Senior Developer @Telecom, Full Stack Developer [Subscribe Me @poolsawat.com]

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store