GitBucket; kolay kurulabilen, kolay ölçeklenebilen, GitHub API uyumluluğuna sahip, Scala ile geliştirilen bir Git platformudur.
GitBucket |
Çalışma ortamınızda git remote repolarınızı dosyalarda tutup yönetmeye çalışmak kullanıcı sayısı ve proje sayısı arttıkça oldukça zaman yiyen işlere dönüşebilmektedir. Kendi hobi projelerinizi de profesyonel ve kolay bir biçimde sürekli entegrasyon (continuous integration - CI) süreçlerine tabii tutmak istiyor olabilirsiniz. Bu ihtiyaçları karşılamak amacıyla internet browser arayüzünden kolayca yeni repository oluşturup kullanıcıları yetkilendirebileceğiniz gelişmiş bir Git depo yönetimi aracına geçmeniz gerekmekte.
Yazılım dünyamızda bir seviyeye kadar ücretsiz kullanılabilen çeşitli kendi sunucunuzda kurup barındırabileceğiniz (self-hosted) Git depo yönetim araçları bulunmakta. GitLab ve BitBucket gibi. Ancak bu yazımızda sadeliği ve tamamen ücretsiz açık kaynak oluşuyla öne çıkan GitBucket ürününden bahsedeceğim.
GitBucket Kurulumu
Kolay kurulduğundan bahsetmiştik.
- Releases sayfasına gidin.
- Son sürüm gitbucket.war dosyasını kurulum yapmak istediğiniz klasöre indirin. Ben /home/username/gitbucket diye bir klasör oluşturdum onun altına war dosyasını attım.
- Komut satırını açın ve java -jar gitbucket.war komutunu çalıştırın.
- Öntanımlı olarak http://localhost:8080/ adresinden hizmet vermeye başladığını görebileceksiniz.
Gitbucket Java Run on Pardus |
Ben Pardus kurulu sanal makinemde denedim. Gitbucket başlatıldığında bizim örneğimizde olduğu gibi aksi belirtilmediğinde ön tanımlı olarak home dizininin altında .gitbucket isimli bir klasör açıyor ve tüm çalışma dosyalarını burada tutuyor. Benim makinemde /home/username/.gitbucket şeklinde bir klasör oluştu.
Öntanımlı 8080 portundan başka bir portta başlatmak istiyorsanız
java -jar gitbucket.war --port=8081
gibi bir komut kullanabilirsiniz. Default 8080 portunu kullanarak devam ediyorum.
http://localhost:8080 adresine giderek uygulamaya ulaşıyoruz. İlk açılışta root kullanıcı adı ve root şifresi ile giriş yapabilirsiniz.
Gitbucket Sign In |
Sağ üst taraftaki + tuşu ile New Repository diyerek yeni repo oluşturabilirsiniz.
GitBucket new repository |
yetAnotherAwesomeProject isimli bir proje oluşturduk. Gelen sayfada hemen yerel makinenizde yeni proje oluşturup GitBucket'a atma veya zaten mevcut bulunan projenizi GitBucket'a gönderme ile ilgili ipuçlarını vermekte.
Yerel makinenizde yeni proje oluşturmak için:
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin http://localhost:8080/git/root/yetAnotherAwesomeProject.git
git push -u origin master
Mevcut bir projeyi bu yeni oluşturduğumuz repositorye göndermek için:
git remote add origin http://localhost:8080/git/root/yetAnotherAwesomeProject.git
git push -u origin master
komutlarını kullanabilirsiniz.
Repository'nin Settings tabında, reponun görünürlüğü (public, private), hangi kullanıcıların veya kullanıcı gruplarının bu repoya hangi yetki ile (sadece görme, commit gönderebilerek görme vb.) erişebileceği gibi konuları yönetebilirsiniz.
Sistem Yeniden Başladığında Otomatik Çalıştırma
Peki ben sistemi her başlattığımda gidip bu java -jar komutunu manuel çalıştırmak zorunda mıyım? Sürekli aşağıda açık bir konsol penceresi mi tutmam gerekecek? GitBucket çalıştırma işini bir sistem servisine dönüştürerek bu dertlerden kurtulabilir, sistem yeniden başladığında arkaplanda kendiliğinden başlamasını sağlayabiliriz.
systemd Sistem Servisi Olarak Çalıştırma
Ben gitbucket.war dosyamı /home/username/gitbucket klasöre koymuştum.
Öncelikle root komutlarını koşturabilecek root olmayan "gitbucket" isminde bir kullanıcı tanımlayalım. Komuttaki dosya klasör yollarını kendi çalışma ortamınıza göre güncellemeyi unutmayınız.
sudo groupadd -g 555 gitbucket
sudo useradd \
-g gitbucket --no-user-group \
--home-dir /home/username/gitbucket --no-create-home \
--shell /usr/sbin/nologin \
--system --uid 555 gitbucket
GitBucket klasörümüzün sahibini gitbucket kullanıcısı yapalım.
sudo chown -R gitbucket:gitbucket /home/username/gitbucket
gitbucket.service isminde bir dosya oluşturun ve içeriğini aşağıdaki gibi doldurun. Kendi çalışma ortamınıza göre klasör yollarını ve port nosunu değiştirmeyi unutmayın.
[Unit]
Description=Git hosting service
[Service]
User=gitbucket
ExecStart=/usr/bin/java -jar /home/username/gitbucket/gitbucket.war --port=8080 --host=127.0.0.1 --gitbucket.home=/home/username/gitbucket/repo
[Install]
WantedBy=multi-user.target
Şimdi bu gitbucket.service dosyasını systemd servisine dönüştüreceğiz.
sudo cp gitbucket.service /etc/systemd/system/ sudo chown root:root /etc/systemd/system/gitbucket.service sudo chmod 644 /etc/systemd/system/gitbucket.service sudo systemctl daemon-reload sudo systemctl start gitbucket.service
Sistem yeniden başlatıldığında bu servisin de başlaması için enable komutunu kullanacağız.
sudo systemctl enable gitbucket.service
Logları görmek için aşağıdaki komutları kullanabiliriz:
journalctl --boot -u gitbucket.service
veya anlık olarak logları takip etmek için:
journalctl -f -u gitbucket.service
0 Yorumlar