- Gitolite ช่วยโฮสต์ Git repository บนเซิร์ฟเวอร์กลาง และทำให้สามารถใช้ การควบคุมการเข้าถึงแบบละเอียด แยกตาม repository ได้
- เมื่อติดตั้งผ่าน package manager มักใช้ชื่อแพ็กเกจว่า
gitolite3และซอร์สโค้ดมีให้บน Codeberg และ GitHub - หากคุ้นเคยกับ Unix และ SSH สามารถใช้เอกสาร ติดตั้งแบบรวดเร็ว ได้ ส่วนผู้ที่ต้องการคำแนะนำทีละขั้นตอนให้ทำตามลำดับเอกสารฉบับเต็มหรือคู่มือติดตั้งแบบป้องกันข้อผิดพลาด
- ข้อผิดพลาดในการติดตั้ง·ตั้งค่าและการทำคีย์หายมีอธิบายในเอกสาร emergencies ส่วน ปัญหาด้านความปลอดภัยให้รายงานโดยตรงทางอีเมล และการขอความช่วยเหลือทั่วไปให้ใช้ mailing list
- ซอฟต์แวร์เผยแพร่ภายใต้ GPL v2 ส่วนเอกสารที่ดูแลแยกต่างหากโดยหลักแล้วใช้ Creative Commons BY-NC-SA 3.0
เอกสารการติดตั้งและการดูแลระบบ
- Gitolite ช่วยจัดวาง Git repository บนเซิร์ฟเวอร์กลางและทำให้สามารถใช้ การควบคุมการเข้าถึงแบบละเอียด ได้
- สามารถใช้ GitHub เป็น repository ซอร์สสำรองได้เช่นกัน
- ชื่อแพ็กเกจใน package manager มักเป็น
gitolite3
- หากคุ้นเคยกับ Unix และ SSH สามารถดู การติดตั้งแบบรวดเร็ว ได้
- หากต้องการการสนับสนุนแบบทีละขั้นตอน ให้ทำตาม คู่มือติดตั้งแบบป้องกันข้อผิดพลาด ตามนั้น และหลังติดตั้งแล้วสามารถใช้ตัวอย่างใน cookbook สำหรับงานทั่วไปได้
- emergencies ครอบคลุมปัญหาการติดตั้ง·ตั้งค่า, การกู้คืนคีย์ที่หายไป, ข้อผิดพลาดทั่วไปหรือที่พบได้น้อย และการตั้งค่าที่ไม่เป็นมาตรฐานซึ่งอาจก่อปัญหาได้
ช่องทางสนับสนุนและไลเซนส์
- ปัญหาด้านความปลอดภัย ให้รายงานโดยตรงไปที่
sitaramc@gmail.com - การสนับสนุนและการสนทนาทั่วไปใช้ mailing list ของ Google Groups
- อีเมลฉบับแรกของสมาชิกใหม่จะถูกพักไว้จนกว่าจะได้รับอนุมัติ แต่อีเมลถัดไปจากที่อยู่เดียวกันจะไม่ถูกพักไว้
- มี mailing list แบบทางเดียวความถี่ต่ำแยกต่างหากสำหรับประกาศรีลีสและประกาศความปลอดภัยด้วย
- รับการสนับสนุนทาง IRC ได้ที่ช่อง
#gitoliteบน libera.chat และในช่อง Git#gitก็มีผู้ใช้ที่คุ้นเคยกับ Gitolite อยู่เช่นกัน - ซอฟต์แวร์ Gitolite เผยแพร่ภายใต้ GPL v2
- เอกสารโดยหลักแล้วอยู่ภายใต้ Creative Commons BY-NC-SA 3.0 แต่ส่วนที่มีผู้มีส่วนร่วมจากภายนอกอาจระบุไลเซนส์แยกไว้ในแต่ละไฟล์
- ตัวอย่างโค้ดในเอกสารและคอมเมนต์ที่เกี่ยวข้องสามารถถือว่าอยู่ภายใต้ GPL v2 ได้ หากเห็นว่าไม่เข้าข่ายการใช้งานโดยชอบธรรม
- GIT เป็นเครื่องหมายการค้าของ Software Freedom Conservancy และชื่อ Gitolite ถูกใช้ตามไลเซนส์
1 ความคิดเห็น
ความเห็นจาก Lobste.rs
ในปี 2013 ที่ University of Cambridge ได้สร้างเซิร์ฟเวอร์ Git ที่ใช้ gitolite และ gitweb เป็นพื้นฐาน เลือกใช้เพราะคิดว่าน่าจะใช้เวลาดูแลน้อยกว่า GitLab หรือ Gitorious ยุคแรกมาก และในความเป็นจริงก็เป็นเช่นนั้นโดยรวม
gitolite มีโครงสร้างเฉพาะตัวที่รันคำสั่งผ่าน SSH และจัดการสิทธิ์การเข้าถึงด้วยไฟล์ตั้งค่าที่ละเอียด จึงไม่มีคอนโซลจัดการผ่านเว็บและมีอุปสรรคในการเริ่มต้นใช้งานอยู่บ้าง จึงทำคู่มือเริ่มต้นขึ้นมา แต่ก็เหมาะเฉพาะกับผู้ใช้ที่มั่นใจด้านเทคนิคเท่านั้น
ตอนนั้นไม่มีบุคลากรที่ถูกจัดสรรให้บริการ Git เลย จึงใช้เวลาส่วนตัวสร้างบริการชั่วคราวขึ้นมาเพื่อพิสูจน์ความต้องการและหางบประมาณ การเก็บการเปลี่ยนแปลงของโอเพนซอร์สไว้ใน SVN หรือวาง Git repository ไว้ในโฮมไดเรกทอรีที่ไม่มีใครหาเจอเป็นสิ่งที่ยอมรับได้ยาก มองว่าการสนับสนุนด้านวิศวกรรมซอฟต์แวร์ยังไม่เพียงพอเมื่อเทียบกับความต้องการด้านการเขียนโปรแกรมเชิงวิทยาศาสตร์ของมหาวิทยาลัย และบริการ IT ส่วนกลางควรสนับสนุนทั้งการสอนและการวิจัยทั่วทั้งมหาวิทยาลัย ไม่ใช่แค่การใช้งานภายใน
ใช้ความสามารถด้านการมอบหมายการจัดการผู้ใช้เพื่อให้ผู้เชี่ยวชาญของแต่ละกลุ่มวิจัยหรือภาควิชารับช่วงงานจัดการบัญชีและการสนับสนุนแทบทั้งหมด ด้วยความที่เป็นเครื่องมือเข้าใจยาก จึงดึงดูดกลุ่ม early adopter สายเทคนิคตามที่ตั้งใจไว้ มีผู้ใช้ค่อนข้างมากแต่แทบไม่มีคำขอซัพพอร์ตเลย นอกจากนี้ยังรองรับโครงการที่มีหลายมหาวิทยาลัยเข้าร่วมได้ เพราะไม่ได้จำกัดการเข้าถึงไว้เฉพาะสมาชิก Cambridge
การประเมินพลาดครั้งใหญ่ที่สุดคือไม่ได้คิดว่าบริการชั่วคราวนี้จะอยู่ยาวถึงประมาณ 8 ปี ก่อนจะถูกแทนที่ด้วย GitLab ที่มีทีมเฉพาะดูแล งานที่ใช้เวลามากที่สุดคือการเพิ่มความทนทานต่อความเสียหาย และโครงสร้างที่ทำ replication ของ Git repository ไปยังไซต์อื่นแบบเกือบเรียลไทม์ก็น่าจะซับซ้อนเกินความจำเป็น
จังหวะนั้น Microsoft ก็เข้าซื้อ GitHub พอดี เป็นช่วงที่เริ่มมีการคาดการณ์ครั้งแรกว่า GitHub จะเสื่อมความนิยมลง ซึ่งน่าสนใจที่ประวัติศาสตร์ดูเหมือนจะซ้ำรอย GitLab เสนอไลเซนส์ในเงื่อนไขที่ดีมาก และภายในองค์กรก็ต้องการเดโมการใช้ Kubernetes และ infrastructure as code กับบริการคลาวด์ด้วย ตอนนี้ไม่ได้อยู่ที่มหาวิทยาลัยแล้ว แต่ GitLab ก็ยังคงเปิดให้บริการอยู่ที่ https://gitlab.developers.cam.ac.uk/
ไม่กี่ปีต่อมาก็ไม่มีคนรับหน้าที่ดูแลต่อ และเมื่อ GitHub ได้รับความนิยมมาก ผู้ใช้ก็ย้ายจากบริการภายในมหาวิทยาลัยไปยังบริการโฮสต์ภายนอก ดีใจที่เห็นว่าโครงการนี้ยังคงได้รับการดูแลอย่างต่อเนื่อง เพราะเคยนึกว่ามันหายไปแล้ว
ใช้access control list ที่ละเอียดของ gitolite เพื่อให้บางคีย์ clone ได้อย่างเดียวแต่ push ไม่ได้ หรืออนุญาตให้ push ได้แต่ห้าม force push ก็ได้ มันเบาและสะดวกมาก และถ้าเป็นตอนนี้ก็น่าจะลองใช้ https://github.com/djmdjm/gitlimit
ถ้าเป็นโปรเจกต์ส่วนตัว Fossil ก็เหมาะเช่นกัน มีเว็บเซิร์ฟเวอร์ฝังมาในไบนารีขนาดเล็กจึงเปิดให้บริการได้ง่าย และหากต้องการก็เชื่อมกับ Git repository ต้นทางได้ด้วย
ที่ NRAO ก็เคยใช้ gitolite เป็นทางออกชั่วคราวอยู่พักหนึ่ง ตอนนั้นเครื่องมือที่รองรับอย่างเป็นทางการคือ Subversion แต่หัวหน้ากลุ่มติดตั้งไว้ให้ผู้ใช้ภายในที่ต้องการใช้ Git แม้ฟีเจอร์จะมีไม่มาก แต่ก็ทำสิ่งที่จำเป็นได้ดีพอ
ปัจจุบันมีGitLab ที่ติดตั้งใช้งานทั้งหอดูดาว และก็อาจย้ายไป GitHub หรือ GitLab ได้ แต่ไม่รู้ว่าตัดสินใจสุดท้ายเป็นอย่างไร ใช้เวลาไปมากกับการปรับระบบ CI/CD และก็นึกวิธีที่จะให้ gitolite รองรับสิ่งนี้ หรือทำ workflow แบบ pull/merge request ไม่ออก แต่ก็อาจเป็นไปได้ว่าประโยชน์ของฟีเจอร์เหล่านั้นถูกพูดเกินจริง
ใช้ fugit(https://github.com/cbdevnet/fugit) ที่ทำมาโดยเน้นความเรียบง่ายสุดขีด และจัดการไฟล์ตั้งค่าด้วย Nix module มันง่ายและได้ผลดี ส่วน gitolite นั้นรู้สึกว่าใช้งานค่อนข้างจุกจิกอยู่เสมอ