Ticker

6/random/ticker-posts

GitBucket Nedir? Nasıl Kurulur?

GitBucket; kolay kurulabilen, kolay ölçeklenebilen, GitHub API uyumluluğuna sahip, Scala ile geliştirilen bir Git platformudur. 

GitBucket kurulumu
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
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
Gitbucket Sign In

 

Sağ üst taraftaki + tuşu ile New Repository diyerek yeni repo oluşturabilirsiniz.

GitBucket new repository
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
 


 

 



Yorum Gönder

0 Yorumlar