- Published on
Azure'de Ubuntu Makinesi Üzerine Gitlab Kurulumu ve Yönetimi
- Authors
- Name
- Alperen Önal
Bu yazımızda, Azure'de Ubuntu makinesi üzerine gitlab kurulumunu gerçekleştirecek ve pratik bir örnek yapacağız.
Öncelikle, Azure hesabımızın olduğunu varsayarak Azure'de sanal makine oluştur sekmesine ilerliyoruz.
Ardından Sanal Makinemizi ihtiyaçlarımız doğrultusunda donatıyoruz.(tavsiye edilen minumum donananım gereksinimini öğrenmek için gitlab'dan araştırma yapabilirsiniz.)
En aşağıda bulunan "Gelen bağlantı noktaları" kısmından https, http, ssh bağlantıları için gerekli port'ların açık olduğundan emin oluyoruz ve oluştur diyerek sanal makinemizi oluşturuyoruz.
Oluştur dedikten sonra karşımıza aşağıdaki gibi bir anahtar oluşturma sekmesi çıkacak buradan anahtarımızı indiriyoruz.
Ben buradan sonrasını VM Debian terminali ile yapacağım sizler de kullandığınız platform'a göre komutları editleyebilirsiniz.
- Terminale'de indirdiğim ssh anahtarının konumuna giderek bu anahtarı .ssh dizinine taşıyoruz.
mv ubuntu-test-server_key.pem ~/.ssh
- Sonrasında /.ssh dizinine gidiyorum ve bu anahtar dosyasının izinlerini Azure'nin isteği doğrultusunda değişiyorum.(Dosya izinleri? )
chmod 600 ubuntu-test-server_key.pem
- İzinleri ayarladıktan sonra aşağıdaki komutu girerek bir ssh bağlantısı oluşturuyoruz.
ssh -i ubuntu-test-server_key.pem azureuser@172.205.146.11
- Gerekli tüm bağımlılıkların kurulduğundan emin olmak için aşağıdaki komutları giriyoruz.
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
- Mail bildirimlerini gönderebilmek için aşağıdaki komutu yazıyoruz.
sudo apt-get install -y postfix
- Gitlab paketini depomuza ekleyerek indirmek için aşağıdaki komutu yazıyoruz.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo apt-get install gitlab-ee
- Kurulum işlemi tamamlandıktan sonra gitlab.rb dosyamıza girerek gitlab'ın barınacağı URL adresini manuel olarak giriyoruz.(https kullanmanız tavsiyemdir.)
sudo nano /etc/gitlab/gitlab.rb
- Üstteki değişikliliğin geçerli olması için aşağıdaki komutu yazarak gitlab'ı yeniden yapılandırıyoruz ve başlatıyoruz.
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
- Tarayıcıya girip sunucumuzun ip adresini girince aşağıdaki gibi gitlab'ımızın artık internette yayımlandığını görebiliyoruz.
Azure'de gitlab kurulumu bu kadardı. Şimdi gitlab'da örnek bir çalışma yapalım.
Yeni bir gitlab kullanıcısı oluşturalım.
Oluşturulan projeye gitlab/github üzerinden seçilen bir repo'yu yükleyelim.
Yüklenen projeyi 1 ay geri çekerek resetleyelim.
Bir ay gerideki repo'ya yeni bir merge request oluşturarak basit bir string değişikliliği yapalım.
Merge request birleştirildikten sonra üzerine 1 aylık commitleri geri yükleyelim.
- -----> (Bg-Tek Bilişim Güv. Tek. Soruları)
Register'e tıklayıp yeni bir hesap oluşturalım ;
Kayıt oluşturma talebimiz server kısmına gitti, GitLab administrator bu kaydımızı onaylayana kadar giriş yapamayacağız.
Tekrardan sunucu kısmına geçerek kayıtları listeliyor ve 0alp'in kaydını onaylıyoruz.
sudo gitlab-rails console
Gitlab rails console açıldıktan sonra aşağıdaki komutları giriyoruz. Ve kayıtları listeliyoruz.
users = User.all users.each { |user| puts "ID: #{user.id}, Name: #{user.name}, Username: #{user.username}, Email: #{user.email}" }
Yukarıdan da görebileceğimiz gibi "0alp" isimli kullanıcı biziz ancak diğerini tanımıyoruz. Aşağıdaki komutla 0alp'in kaydını kabul edebiliriz.
user = User.find_by(username: '0alp') user.update!(state: 'active')
Çıktı :
Evet, "0alp" kullanıcı isimli hesabımızın kaydı onaylandığına göre gitlab'ımıza giriş yaparak bir proje oluşturalım. Repo'yu Github'dan çekmek istediğim için "Import Project" seçeneğine tıkladım ancak aşağıdaki yazı ile karşılaştım :
Yani, projenizi içe aktarma seçeneklerini etkinleştirmek için de gitlab'da ayarlamalar yapmamız gerektiğini söylüyor.
Aşağıdaki komutları yazarak gerekli içe aktarma seçeneklerini aktifleştirelim.
Öncelikle içe aktarma seçeneklerini kontrol edelim.
Gitlab::CurrentSettings.import_sources
Çıktı : Evet, görebileceğimiz gibi herhangi bir içe aktarma seçeneğimiz yok bu listeye potansiyel olarak kullanacağımız platformları aşağıdaki komut ile ekleyelim.Gitlab::CurrentSettings.update!(import_sources: ['github', 'bitbucket', 'gitlab_project', 'gitea', 'fogbugz', 'git'])
Çıktı :Evet, sayfayı yenilediğimizde ilgili seçeneklerin başarıyla eklendiğini görüyoruz. Ardından import etmek istediğimiz seçeneği seçiyoruz. Ben URL seçeceğim.
Şimdi "yüklenen projeyi 1 ay geriye çekme adımı"na geçelim.
Öncelikle, lokalimizde bulunan git ile uzak sunucumuzdaki repo'muza erişebilmek için ssh key oluşturmamız ve bunu gitlab hesabımıza eklememiz gerekiyor.
Evet ssh anahtarımızı eklediğimize göre artık klonlayabiliriz.
git clone git@172.205.146.11:0alp/HttpGetterSharp.git
Çıktı :
Aşağıda görebileceğimiz gibi lokalimize repo'yu klonladık.
Projem henüz 1 aylık olmadığı için ve 7 günde bittiği için rastgele şekilde aşağıdaki kırmızı olarak işaretlediğim commit'i seçtim.(1 ay yerine 1gün geriye gideceğim.)
git log
Çıktı :
Artık, aşağıdaki komutu yazarak commit'imize dönebiliriz
git checkout 07fb97
git checkout -b deneme
git reset --hard 07fb97
Çıktı :
1 gün geriye aldığımız 'deneme' isimli branch'ımıza, üzerinde ufak string değişikliliği yapacağımız branchımızı merge etme işlemine geçelim.
git checkout -b string_degisikligi
cat >> deneme.txt önemsiz bir metin ekliyorum buraya :)
git add .
git commit -m "Basit string degisikligi yap"
git push origin string_degisikligi
Çıktı :
"Merge request birleştirildikten sonra üzerine 1 aylık commitleri geri yükleyelim." adımına geçelim.
Öncelikle gitlab'a giderek adım adım merge işlemini yapalım.
- 5.1
- 5.2
- 5.3
5.4
git switch main
git rebase deneme
git pull
git push origin main
Çıktı :
SONUÇ
Kaynakça :
- about.gitlab.com/install/#debian
- docs.gitlab.com/ee/
- BG-TEK sistem uzmanlığı soruları