Gogs Nedir?



Gogs, Gitlab benzeri, Go ile geliştirilmiş, kendi sunucunuza kurabileceğiniz bir git servisidir. İnanılmaz derece kolay kurulumu, private repo desteği ve çok düşük sistem ihtiyaçları, kendisini küçük takımlar için biçilmiş kaftan yapıyor.





Çalışan bir sürümünü: https://try.gogs.io/ adresinden deneyebilirsiniz.


Sistem kaynağı kullanımına tekrar değinecek olursam, gogs şuan $5'lık digitalocean sunucumda, yaklaşık ~30MB bellek kullanıyor. Go ile geliştirilmiş olması, native bir uygulama olarak kurulmasıyla işlemci kullanımı da hayli düşük. Raspberry Pi bile minimum sistem ihtiyaçlarını karşılamaya yetiyor. SQLITE3 desteği de bulunan uygulama, ayrıca bir veritabanı sunucusuna ihtiyaç kalmadan kendi başına çalışabiliyor.


Uygulamanın daha ayrıntılı bir incelemesini ve Gitlab gibi diğer servislerle kıyaslamasını bu blog yazısında bulabilirsiniz.


Reddit'te bahsedildiği üzere, uygulamanın bazı yan etkileri de mevcut. Bunlardan bazıları:



  • Pull request yapılamaması.
  • Code review yapılamaması.
  • Uygulamayı kullanan tüm kullanıcıların, makinenize aynı kullanıcı (genelde git) üzerinden bağlanacak olmaları.
  • Private repoların aslında private olmaması. Depo adını/yolunu bilen biri, deponuzu klonlayabilir. Bu muhtemelen yakında düzeltilecektir.


Bu nedenlerden dolayı, kritik önem taşıyan geliştirme süreçlerinde gogs kullanılması önerilmiyor.

Kurulum

Sürekli kolay kurulumundan bahsettiğim uygulamanın kurulumuna da kısaca değinmek istiyorum. Ayrıntılı kurulum belgelerini gogs websitesinde bulabilirsiniz. Uygulamanın dağıtımlarına github sayfasından ulaşabilirsiniz. Aşağıdaki kurulum, uygulamanın binary olarak sağlanmış kurulumunu ele almaktadır.


scription">Kod:
sudo adduser --disabled-login --gecos 'Gogs' git
sudo su - git
cd ~
wget https://github.com/gogits/gogs/releases/download/v0.5.13/linux_amd64.zip
unzip linux_amd64.zip
cd gogs
chmod a+x gogs
./gogs web


Bu kadar! Go ile geliştirilmiş olması ve static linklenmiş bir uygulama olması bağımlılık ihtiyacını ortadan kaldırıyor.


Gogs varsayılan olarak, 3000 portunu dinleyecektir. Web tarayıcınızdan, sunucunuzun 3000 portuna bağlanarak kurulumunuzu tamamlayabilirsiniz. Gogs belgelerini okuyarak isterseniz kullanıcı kaydını kapatabilirsiniz. nginx gibi reverse proxy olarak çalışabilen http sunucularıyla da, isterseniz uygulamanızı 80. porta yönlendirebilirsiniz.


Varsayılan index olan gogs landing sayfası yerine, kendi profilinizi göstermek istiyorsanız, yazdığım nginx ayarlarını kullanabilirsiniz:

description">Kod:
server {
    listen 80;
    server_name git.onur.im;

    location / {
        proxy_pass https://localhost:3000;
    }

    location ~ ^/$ {
        valid_referers blocked git.onur.im;
        if ($invalid_referer) {
             rewrite .* https://git.onur.im/onur;
        }
        proxy_pass https://localhost:3000;
    }
}


Gogs Resmi Sitesi: https://gogs.io/


Onur ASLAN