ทำ Git Server ในทีม ด้วย GitBucket platform on JVM
บทความนี้ไม่อธิบายเรื่อง Git คืออะไร ,Git Server คืออะไร และเอาไว้ทำอะไร แต่จะเป็นการมาเล่าสู่กันฟังมากกว่า พอดีมีปัญหาเหล่านี้ GitBucket มันมาช่วยแก้ก็เท่านั้นเอง
ปัญหาเหล่านี้ไงเป็นสิ่งที่ทำให้เลืิอก Gitbucket
- มี internal server ที่เป็น Red Hat Enterprise Linux 7
- ไม่สามารถต่อ internet จากภายนอกได้
- ความรู้เรื่อง Unix ก็ไม่ค่อยเชียวชาญ
- ประสบการณ์เป็น Dev Java มาหลายปี
- อยากได้ Project Opensource (Free) เพื่อลองให้น้อง ๆ ในทีมเอาไว้ใช้งาน
- Database ที่มีข้อจำกัดว่าไม่มี Database อะไรเลยที่ Server
- บน internal Server มีการ install Java 8 อยู่แล้ว
ขอขอบคุณที่ช่วยในการตัดสินใจ https://www.cyberciti.biz/open-source/github-alternatives-open-source-seflt-hosted/
GitBucket น่าสนใจอย่างไร
อันที่จริงผมเองก็เพิ่งจะได้ลองติดตั้งและใช้งานได้ไม่นาน โดยลึก ๆ เองแล้วความสามารถของ GitBucket อาจจะมีมากกว่านี้แต่ก็จะลองสรุปไว้คร่าว ๆ เท่านี้ก่อน
- Run On JVM เพราะตัว Project เอง Impl ด้วย Scala
- ใช่ Jetty เป็น web server ในการ run http
- ใช้ H2 เป็น Database สำหรับเก็บข้อมูล
- มีระบบ Manage Users ที่สามารถกำหนด Level , Group ได้
- มี Issues Tracker ให้ติดตามเหมือนกับ Github รวมถึงการ Pull Request ,
- มี Plugins เสริมให้ติดตั้งเพิ่มเติม ที่น่าสนใจหลาย Plugin เช่น gitbucket-label-kanban-plugin ,gitbucket-ci-plugin , gitbucket-ipynb-plugin เพิ่มเติม สนใจคลิก
และความสามารถอื่น ๆ อีกเพียบเรียกว่าถ้าเคยใช้ Github ได้ความสามารถใกล้เคียงกันเลย
มี Demo ให้ลองเล่นก่อนตัดสินใจติดตั้งมาใช้งาน Gitbucket Demo (root,root)
การติดตั้ง
เพราะเป็น Project ที่ Run On JVM environment จำเป็นต้องมี JRE(Java Runtime Environment) ซะก่อน
- ติดตั้ง JRE 1.8 (set PATH ให้พร้อมใช้งานด้วยนะ)
- download Gitbucket.war
- 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)
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 เพื่อเป็นกำลังใจด้วยนะครับ