Kendi Git deponuzu kurun ve Gitolite ile yönetin

Bu doküman ile Ubuntu sistemlerde git sürüm yönetim sistemini kolaylıkla kurup rahat bir şekilde yönetebilirisiniz. Öncelikle ubuntu sistemlerinde git sürüm yönetim sistemi nasıl kurulur onu inceleyelim

  • Git sürüm yönetim sistemi kurulumu:

veli@veli-GA-990XA-UD3:~/ sudo apt-get install git-core

Hepsi bu 🙂

  • Gitolite ile Git yönetimi:

Git sürüm yönetim sisteminin komut dilini ezberlemek ve her seferinde hatırlamaya çalışmak biraz sıkıntılı, özellikle de yeni depo kurmanız ve kullanıcı ve dahi haklarını yönetmeniz gerekiyorsa…

Gitolite bu işleri basitleştirmek amacıyla, daha önceden var olan az daha sorunlu, sıkıntılı ve artık geliştirilmesi bırakılmış olan Gitosis yerine oluşturulmuş bir projedir. Amaç depo ve kullanıcı yönetimini basitleştirmek, sistem yöneticilerinin kendilerine daha fazla zaman ayırabilmelerini sağlamaktır :p

Ubuntu sisteminde gitolite kurmak ve sürüm yönetim sistemini bunun üzerine taşımak için git sürüm yönetim sistemini kurduktan sonra aynı yöntem ile gitolite’ı sisteme kuracağız. Ancak bunu yaparken uzak sunucu kullanmak isteyeceğinizi varsayarak sistemi yapılandıracağız. Bunun için uzak sunucuya ssh ile giriş yaptıktan sonra süper kullanıcı konumuna geçmeniz gerekli.

veli@veli-GA-990XA-UD3:~/ ssh example.com
veli@example:~/ sudo -s
veli@example:~/ apt-get install git-core gitolite

Paket kurulumları tamamlandıktan sonra sürüm yönetim sistemi ni kullanacak ortak bir kullanıcı oluşturmamız gerekli.

veli@example:~/ sudo adduser –system –group –shell /bin/bash –disabled-password git

Bu “git” isimli kullanıcıyı kullanabilmek için yerel makinede ssh key’i üretip bu hesap ile ilişkilendirmemiz gerekli. Bunun için şu adımları izleyeceğiz:

veli@veli-GA-990XA-UD3:~/ ssh-keygen -t rsa


“~/.ssh/
” klasörü altında oluşan “id_rsa.pub” dosyasını sunucuya gönderiyoruz:

veli@veli-GA-990XA-UD3:~/ scp ~/.ssh/id_rsa.pub [email protected]:/tmp/git-admin.pub

Bu işlemden sonra yapılması gereken; sunucuya erişip, gönderilen “.pub” dosyasını git admin anahtarı olarak atamak. Bu işlemi yapmak için daha önceden oluştumuş olduğumuz “git” kullanıcısı yerine geçmemiz gerekli:

veli@veli-GA-990XA-UD3:~/ ssh example.com
veli@example:~/ sudo su – git
git@example:~/ gl-setup /tmp/git-admin.pub

Bu komut size ön tanımlı sistem editörü içinde temel ayarları gösterecektir. Bu ayarları değiştirmeniz gereken yerler var mı diye bir gözden geçirin ve kaydedin. Bu işlem sonucunda kendi kullanıcınızı sunucu üzerinde git ve gitolite yöneticisi haline getirmiş olacaksınız.

Sonraki adım olarak kendi makinanızda “git” kurup sunucudaki “gitolite-admin” projesini kendimize çekeceğiz.

Buradan anlaşılacağı üzere “gitolite” sistemi yine “git” üzerinden sürüm yönetim sistemine eklenmiş bir proje gibi çalışan bir sistem. Yani “git”in altyapısındaki esneklikleri kullanarak (pre-script, post-script) commit edilen “conf” dosyasında değişiklik var ise otomatik olarak değişiklikleri uygulama mantığıyla çalışmaktadır.

git@example:~/ exit
veli@veli-GA-990XA-UD3:~/ sudo apt-get install git-core
veli@veli-GA-990XA-UD3:~/ git clone [email protected]:gitolite-admin

Bu komut sonucunda home klsaörünüze “gitolite-admin” adında bir klasör oluşturulur ve gerekli dosyalar bu konuma çekilir. Bu klasör içinde sizi ilgilendirecek iki adet klasör bulunmaktadır. birincisi “conf” diğeri de “keys” klasörüdür. Bu klasörlerden keys klasörü yönetici siz olduğunuz için projelere yada genel olarak “git” sistemine eklenecek bir kullanıcı var ise, o kullancının “public key”inin barındırılacağı klasördür. “conf” klasöründe ise proje şerin ayarlarının ve kullanıcı haklarının nasıl olması gerektiği yazılacak olan “gitolite.conf” dosyası bulunmaktadır. Bu konulara ilerleyen yazımızda değineceğiz.