- Gitolite, merkezi bir sunucuda Git depoları barındırmayı ve depo bazında ayrıntılı erişim kontrolü uygulamayı sağlar
- Paket yöneticisiyle kurulurken genellikle
gitolite3adı kullanılır; kaynak kodu Codeberg ve GitHub’da sunulur - Unix ve SSH’ye aşinaysanız hızlı kurulum dokümanını, adım adım yönlendirme gerekiyorsa genel dokümantasyon akışını veya hataları önlemeye yönelik kurulum rehberini izleyebilirsiniz
- Kurulum/yapılandırma hataları ve anahtar kaybı emergencies dokümanında ele alınır; güvenlik sorunları doğrudan e-postayla bildirilir, genel destek için ise e-posta listesi kullanılır
- Yazılım GPL v2 ile dağıtılır; ayrı yönetilen dokümantasyon için ilke olarak Creative Commons BY-NC-SA 3.0 geçerlidir
Kurulum ve işletim dokümantasyonu
- Gitolite, merkezi bir sunucuda Git depoları yapılandırmayı ve ayrıntılı erişim kontrolü uygulamayı sağlar
- Alternatif kaynak deposu olarak GitHub da kullanılabilir
- Paket yöneticilerindeki paket adı genellikle
gitolite3’tür
- Unix ve SSH’ye aşinaysanız hızlı kurulum belgesine bakabilirsiniz
- Adım adım desteğe ihtiyaç duyarsanız hata önleyici kurulum rehberini aynen izleyebilir, kurulumdan sonra genel işlemler için cookbook örneklerinden yararlanabilirsiniz
- emergencies, kurulum/yapılandırma sorunlarını ve kayıp anahtar kurtarmayı, yaygın ya da nadir hataları ve sorun çıkarabilecek standart dışı yapılandırmaları ele alır
Destek kanalları ve lisans
- Güvenlik sorunları doğrudan
sitaramc@gmail.comadresine bildirilir - Genel destek ve tartışmalar için Google Groups e-posta listesi kullanılır
- Yeni üyelerin ilk e-postası onaylanana kadar bekletilir, ancak aynı adresten gönderilen sonraki e-postalar bekletilmez
- Sürümler ve güvenlik duyuruları için ayrı, düşük trafikli tek yönlü bir e-posta listesi de sunulur
- IRC desteği libera.chat üzerindeki
#gitolitekanalından alınabilir; Git kanalı#gitte de Gitolite’e aşina kullanıcılar bulunur - Gitolite yazılımı GPL v2 ile dağıtılır
- Dokümantasyon için ilke olarak Creative Commons BY-NC-SA 3.0 geçerlidir; ancak harici katkı bölümlerinde her dosyada ayrı bir lisans belirtilebilir
- Dokümantasyondaki kod örnekleri ve ilgili yorumlar, adil kullanım kapsamına girmediğine karar verilirse GPL v2 olarak kabul edilebilir
- GIT, Software Freedom Conservancy’nin ticari markasıdır ve Gitolite adı lisans kapsamında kullanılır
1 yorum
Lobste.rs görüşleri
2013'te Cambridge Üniversitesi'nde gitolite ve gitweb tabanlı bir Git sunucusu kurduk. İlk dönem GitLab veya Gitorious'a kıyasla çok daha az yönetim zamanı gerektireceğini düşündüğümüz için bunu seçtik ve pratikte de büyük ölçüde öyle oldu
gitolite, SSH üzerinden komut çalıştıran ve erişim izinlerini ayrıntılı yapılandırma dosyalarıyla yöneten kendine özgü bir yapıya sahip olduğundan, web tabanlı bir yönetim konsolu yoktu ve bu da giriş eşiğini yükseltiyordu. Bir başlangıç kılavuzu hazırladık, ancak bu yalnızca teknolojiye güvenen kullanıcılar için uygundu
Git hizmeti için ayrılmış hiçbir personel yoktu; bu yüzden talebi kanıtlamak ve bütçe sağlamak amacıyla kişisel zamanımı harcayarak geçici bir hizmet kurdum. Açık kaynağın yerel değişikliklerini SVN'de saklamak ya da kimsenin bulamayacağı home dizinlerine Git depoları koymak kabul edilebilir değildi. Üniversitedeki bilimsel programlama ihtiyacına kıyasla yazılım mühendisliği desteği yetersizdi ve merkezi BT hizmetinin yalnızca kurum içi kullanım için değil, üniversite genelindeki eğitim ve araştırmayı desteklemesi gerektiğini düşünüyordum
Kullanıcı yönetimini devretme özelliğini kullanarak hesap yönetimi ve desteğin neredeyse tamamını her araştırma grubundaki veya bölümdeki uzmanlara bıraktık. Zor bir araç olması sayesinde, hedeflediğimiz uzman erken benimseyen kitlesi toplandı; kullanıcı sayısı epey fazlaydı ama destek talebi neredeyse hiç gelmiyordu. Birden çok üniversitenin katıldığı projeleri de, erişimi Cambridge üyeleriyle sınırlamadığımız için destekleyebildik
En büyük yanlış öngörüm, geçici hizmetin yaklaşık 8 yıl süreceğini tahmin etmemiş olmamdı; daha sonra bunun yerini, özel personel tarafından işletilen bir GitLab aldı. En çok zaman alan iş dayanıklılığı artırmaktı ve Git depolarını başka bir siteye neredeyse gerçek zamanlı çoğaltan yapının gereğinden fazla karmaşık olması muhtemel
Tam o sırada Microsoft GitHub'ı satın aldı ve GitHub'ın gerilemesinin ilk kez öngörülmeye başlandığı dönemdi; tarihin tekerrür etmesi ilginç. GitLab lisansı çok avantajlı koşullarla verdi ve bulut hizmetine Kubernetes ile altyapıyı kod olarak yaklaşımını uygulayan kurum içi bir gösterime de ihtiyaç vardı. Artık üniversitede değilim ama GitLab hâlâ https://gitlab.developers.cam.ac.uk/ adresinde çalışıyor
Birkaç yıl sonra bunu işletecek kimse kalmadı ve GitHub çok yaygınlaşınca kullanıcılar üniversite içi hizmet yerine dış barındırmaya geçti. Projenin ortadan kalktığını sanmıştım; hâlâ düzenli olarak bakılıyor olduğunu görmek sevindirici
gitolite'ın ayrıntılı erişim kontrol listeleri sayesinde bazı anahtarlara yalnızca klonlama izni verip push'u engelleyebiliyor ya da push'a izin verip force-push'u yasaklayabiliyordunuz. Hafif ve kullanışlıydı; bugün olsa sanırım https://github.com/djmdjm/gitlimit kullanırdım
Kişisel projeler için Fossil de uygun. Küçük bir ikili dosyada gömülü bir web sunucusu var; bu sayede kolayca servis edilebiliyor ve gerekirse üstteki Git deposuyla da entegre olabiliyor
NRAO da bir süre gitolite'ı geçici çözüm olarak kullandı. O dönemde resmî destek aracı Subversion'dı, ancak grup yöneticisi Git isteyen kurum içi kullanıcılar için bunu kurmuştu. Çok fazla özelliği yoktu ama gereken işi yeterince iyi yapıyordu
Şu anda gözlemevinin tamamının kullandığı bir GitLab kurulumu var; GitHub ya da GitLab'a taşınma ihtimali de olabilir ama nihai kararı bilmiyorum. Sürekli entegrasyon ve dağıtım sistemlerini düzenlemek için çok zaman harcıyorum; gitolite ile bunu desteklemenin ya da pull/merge request iş akışını uygulamanın bir yolunu aklıma getiremiyorum. Yine de bu tür özelliklerin faydası abartılıyor olabilir
Aşırı sadelik hedefiyle yapılmış fugit(https://github.com/cbdevnet/fugit) kullanıyorum ve yapılandırma dosyalarını Nix modülüyle yönetiyorum. Basit ve etkili; gitolite ise kullanması her zaman biraz zahmetliydi