GitLab CI/CD Nedir?
GitLab CI/CD, "Sürekli Entegrasyon" ve "Sürekli Teslimat" (Continuous Integration / Continuous Delivery) anlamına gelir. Kısaca CI/CD, yazılım geliştirme sürecinde otomasyon sağlayan bir uygulamadır. Kod yazıldıkça, testler otomatik olarak çalıştırılır ve ardından kodun uygun bir ortamda çalışıp çalışmadığı kontrol edilir. Tüm bu süreçlerin otomatik hale getirilmesi, yazılım geliştirme sürecini daha verimli ve hatasız hale getirir.
Adım 1: GitLab Hesabı Oluşturma ve Proje Başlatma
Eğer GitLab kullanmaya yeni başlıyorsanız, ilk olarak bir GitLab hesabı oluşturmanız gerekecek. GitLab’ın ücretsiz seçenekleri, küçük ve orta ölçekli projeler için mükemmeldir. Hesabınızı oluşturduktan sonra, yeni bir proje başlatın. Bu projeyi ister sıfırdan başlatabilirsiniz, ister mevcut bir projenizi GitLab’a aktarabilirsiniz.
Adım 2: GitLab Runner Kurulumu
GitLab CI/CD'yi çalıştırabilmek için, GitLab Runner adlı bir yazılımı kurmamız gerekiyor. GitLab Runner, CI/CD süreçlerini başlatan ve yöneten bir araçtır. Runner'lar, belirli bir makine üzerinde çalışarak, sizin belirlediğiniz komutları yerine getirir.
GitLab Runner kurulumunu şu şekilde gerçekleştirebilirsiniz:
Linux:
1. Öncelikle sisteminize GitLab Runner’ı kurmak için terminali açın.
2. Aşağıdaki komutu kullanarak GitLab Runner’ı yükleyin:
sudo apt-get install gitlab-runner
3. Yükleme işlemi tamamlandığında, aşağıdaki komutla GitLab Runner’ı başlatın:
sudo gitlab-runner start
Windows:
1. Windows işletim sistemi üzerinde GitLab Runner’ı kurmak için, GitLab Runner’ın en son sürümünü [GitLab Runner İndirme Sayfası](https://docs.gitlab.com/runner/) üzerinden indirip, kurulum sihirbazını takip edebilirsiniz.
2. Kurulumdan sonra, terminalde aşağıdaki komutu çalıştırarak GitLab Runner’ı başlatın:
gitlab-runner start
Adım 3: GitLab CI/CD Pipeline Konfigürasyonu
Artık GitLab Runner'ımızı kurduğumuza göre, GitLab CI/CD pipeline’ımızı yapılandırmamız gerekiyor. Bunu yapabilmek için, proje kök dizininde `.gitlab-ci.yml` adlı bir dosya oluşturmalıyız.
Bu dosya, GitLab’ın CI/CD süreçlerini nasıl çalıştıracağını tanımlar. İşte basit bir örnek:
stages:
- build
- test
- deploy
build:
stage: build
script:
- echo "Building the project..."
test:
stage: test
script:
- echo "Running tests..."
deploy:
stage: deploy
script:
- echo "Deploying the project..."
Bu `.gitlab-ci.yml` dosyasındaki her bir aşama, GitLab Runner tarafından sırasıyla çalıştırılır. Burada "build", "test" ve "deploy" aşamaları tanımlandı. Bu adımlar sırasıyla gerçekleştirilir, ancak daha karmaşık süreçler için çok daha fazla özelleştirme yapılabilir.
Adım 4: Pipeline’ı Çalıştırma ve İzleme
Yukarıdaki adımları tamamladıktan sonra, GitLab arayüzüne geri dönün ve projenize gidin. Kodu GitLab’a gönderdikten sonra, GitLab CI/CD pipeline’ınız otomatik olarak çalışacaktır. Pipeline’ın durumunu “CI/CD” sekmesinden takip edebilirsiniz. Bu sekmede, her aşamanın ne zaman başladığını, ne zaman tamamlandığını ve herhangi bir hata olup olmadığını görebilirsiniz.
Adım 5: Hataları Düzeltme ve İyileştirme
Eğer pipeline sırasında bir hata alırsanız, hata mesajlarını dikkatlice inceleyin ve hangi adımda sorun oluştuğunu öğrenin. Hatalar genellikle eksik bağımlılıklar, yanlış komutlar veya hatalı yapılandırmalardan kaynaklanır. Bu hataları düzelttikten sonra, pipeline’ı yeniden çalıştırarak her şeyin düzgün çalışıp çalışmadığını kontrol edin.
Adım 6: GitLab CI/CD Yönetimi
GitLab CI/CD’nin yönetimi oldukça basittir. Projenizde yeni pipeline’lar oluşturabilir, mevcut pipeline’ları özelleştirebilir ve yeni koşullar ekleyebilirsiniz. Ayrıca, çeşitli ortamlar için farklı pipeline’lar tanımlayarak, üretim ve test ortamlarınızı ayrı ayrı yönetebilirsiniz.
Öneri: GitLab CI/CD süreçlerini daha verimli hale getirmek için, cache kullanımı, paralel işler ve Docker entegrasyonu gibi özelliklerden yararlanabilirsiniz. Bu özellikler, işlemleri hızlandırarak zamandan tasarruf etmenizi sağlar.
Sonuç: GitLab CI/CD ile Kodunuzu Otomatikleştirin
GitLab CI/CD, yazılım geliştirme sürecini daha hızlı ve verimli hale getirir. Artık kodunuzu her güncelleştirdiğinizde otomatik olarak test edebilir, derleyebilir ve dağıtabilirsiniz. Bu da size zaman kazandırır ve projelerinizi daha sağlıklı bir şekilde yönetmenize olanak tanır.
GitLab CI/CD’yi kurmak ve yönetmek aslında düşündüğünüzden çok daha kolay. Yukarıdaki adımları izleyerek, CI/CD süreçlerini sorunsuz bir şekilde kurabilir ve yazılım geliştirme sürecinizi otomatikleştirebilirsiniz.