GitLab CI/CD Nedir?
Öncelikle, GitLab CI/CD'yi tanımlayalım. GitLab CI (Sürekli Entegrasyon), geliştiricilerin yazdıkları kodları otomatik olarak test etmelerini ve entegre etmelerini sağlar. GitLab CD (Sürekli Dağıtım) ise, uygulamanın her değişikliğini otomatik olarak üretim ortamına taşıma sürecini ifade eder. Bu iki sürecin birleşimi, yazılım geliştirme ve dağıtım süreçlerini hızlı, güvenli ve verimli hale getirir.
GitLab CI/CD Kurulumu Adımları
Şimdi, GitLab CI/CD'yi nasıl kuracağımıza göz atalım. Her şeyin başı doğru kurulumdan geçer!
Adım 1: GitLab Hesabı Oluşturun
İlk olarak, GitLab platformuna kaydolmanız gerekiyor. GitLab'ın ücretsiz ve ücretli seçenekleri mevcut, ancak bu rehberde ücretsiz planı kullanacağız. Kaydolduktan sonra, projenizi oluşturun.
Adım 2: GitLab Runner Kurulumu
GitLab Runner, CI/CD işlemlerinizi gerçekleştiren bir yazılımdır. GitLab Runner, CI/CD pipeline’larının çalışmasını sağlayan bir ajan gibi düşünülebilir. GitLab Runner'ı kurmak için aşağıdaki komutları kullanabilirsiniz:
# Debian/Ubuntu için
sudo apt-get install gitlab-runner
# RedHat/CentOS için
sudo yum install gitlab-runner
GitLab Runner'ı kurduktan sonra, yapılandırmanız için aşağıdaki komutla Runner'ı kaydedin:
sudo gitlab-runner register
Burada size bazı sorular sorulacak; GitLab sunucunuzun URL'sini ve token bilgilerini girmeniz gerekecek. Bu bilgileri GitLab projenizin CI/CD ayarları sayfasında bulabilirsiniz.
Adım 3: .gitlab-ci.yml Dosyasını Oluşturun
GitLab'ın CI/CD süreçlerini yönetmek için, projenizin kök dizininde `.gitlab-ci.yml` adında bir dosya oluşturmanız gerekmektedir. Bu dosya, pipeline'ınızın nasıl çalışacağını belirleyen konfigürasyonları içerir.
Örneğin, basit bir test ve dağıtım pipeline'ı şu şekilde görünebilir:
stages:
- test
- deploy
test_job:
stage: test
script:
- echo "Testing the application"
- npm install
- npm test
deploy_job:
stage: deploy
script:
- echo "Deploying to production"
- ./deploy.sh
only:
- main
Bu örnekte, iki aşama tanımlıyoruz: "test" ve "deploy". İlk olarak, kodun test edilmesini sağlıyoruz, ardından eğer her şey yolunda giderse, kodun üretim ortamına dağıtılmasını sağlıyoruz.
Adım 4: Pipeline'ınızı Çalıştırın
Yukarıdaki `.gitlab-ci.yml` dosyasını projenize ekledikten sonra, GitLab otomatik olarak pipeline’ı çalıştıracaktır. GitLab, her push işlemiyle bu dosyayı kontrol eder ve içerisindeki komutları sırasıyla çalıştırır. Eğer her şey doğru yapılandırılmışsa, başarılı bir test ve dağıtım süreci gerçekleşecektir.
GitLab CI/CD'yi Yönetmek
CI/CD kurulumu tamamlandıktan sonra, yapmanız gereken tek şey pipeline'ı izlemek ve yönetmektir. GitLab, her pipeline'ın geçmişini ve sonuçlarını detaylı bir şekilde gösterir. Bunun yanı sıra, pipeline'ların herhangi bir aşamasında hata alırsanız, hata mesajları ve günlükler sayesinde sorunun kaynağını hızla bulabilirsiniz.
Adım 5: Pipeline'ları İzlemek ve Sorun Giderme
GitLab CI/CD, pipeline'larınızı takip etmenin oldukça kolay bir yolunu sunar. GitLab arayüzüne giderek, sağ üst köşede yer alan "CI / CD" bölümüne tıklayarak geçmiş pipeline'larınızı görüntüleyebilirsiniz. Burada, her bir aşamanın sonucu, süreleri ve hata mesajları yer alır.
Bir pipeline başarısız olursa, ilgili işin (job) detaylarını inceleyebilir ve sorunları hızlıca çözebilirsiniz. Örneğin, "Test" aşamasında bir hata meydana geldiyse, testlerin neden başarısız olduğunu öğrenmek için log dosyalarına bakabilirsiniz.
Adım 6: Özelleştirilmiş Pipeline'lar ve Otomatik Testler
GitLab CI/CD'nin sunduğu bir diğer harika özellik ise, özelleştirilmiş pipeline'lar oluşturabilmenizdir. Örneğin, belirli testleri sadece belirli durumlar altında çalıştırmak, ya da farklı ortamlar için farklı dağıtım süreçleri oluşturmak mümkündür. Bunun için `.gitlab-ci.yml` dosyanızı gerektiği şekilde güncelleyebilirsiniz.
Sonuç
GitLab CI/CD, yazılım geliştirme süreçlerinizi hızlandırır, hataları en aza indirir ve güvenilir teslimatlar yapmanızı sağlar. GitLab'ı kullanarak geliştirme sürecinizi otomatikleştirip daha verimli hale getirebilirsiniz. Kurulumdan pipeline'ların izlenmesine kadar, her adımı detaylı bir şekilde ele aldık. Artık GitLab ile otomasyonun gücünü keşfetmeye hazırsınız!