GitLab CI/CD Nedir ve Neden Kullanılır?
Yazılım geliştirme dünyasında her şey hızla değişiyor. Projeler büyüdükçe, sürüm yönetimi karmaşık hale gelir. İşte tam burada GitLab CI/CD devreye giriyor. GitLab, yazılım geliştirme sürecini daha hızlı, verimli ve hatasız hale getirmek için kullanılan güçlü bir araçtır. CI/CD, yani Sürekli Entegrasyon ve Sürekli Teslimat, yazılım geliştirme sürecinde her değişikliği otomatik olarak test eder, derler ve dağıtır. Bu süreç, yazılımcıların projelerine sürekli güncellemeler getirmelerini sağlayarak, hataların erkenden fark edilmesini ve hızlı bir şekilde düzeltilmesini mümkün kılar.
Eğer GitLab'ı kullanmaya başlamak istiyorsanız, ilk adım olarak CI/CD süreçlerinizi kurmanız gerekecek. Bu yazıda, GitLab CI/CD'nin nasıl kurulacağı ve yönetileceği hakkında bilmeniz gereken her şeyi adım adım anlatacağız.
GitLab CI/CD Kurulumuna Başlamak
GitLab CI/CD kurulumunu başlatmadan önce, GitLab'ın bir hesabınızın ve projenizin olması gerektiğini unutmayın. GitLab’ı hem bulut hem de kendi sunucunuzda kullanabilirsiniz. Biz, bulut versiyonuyla başlıyoruz, ancak kendi sunucunuza GitLab kurmak isterseniz de adımlar oldukça benzer.
1. GitLab Hesabı Oluşturun:
İlk olarak, GitLab’ın web sitesine gidip bir hesap oluşturmanız gerekiyor. GitLab’ın ücretsiz planı, küçük projeler ve bireysel kullanıcılar için yeterlidir.
2. Yeni Bir Proje Başlatın:
GitLab’a giriş yaptıktan sonra, “Yeni Proje” butonuna tıklayın ve projenizi oluşturun. Projenizi GitLab'da barındırmak için repoyu Git üzerinden oluşturun ve veritabanınızı oluşturun.
GitLab CI/CD Yapılandırması
GitLab CI/CD’yi kurmak için bir dosya olan `.gitlab-ci.yml` dosyasını projenizin kök dizinine yerleştirmeniz gerekir. Bu dosya, CI/CD işlem hattınızın tüm yapılandırmalarını içerir. Şimdi, GitLab CI/CD iş akışını kurmaya başlayalım.
1. .gitlab-ci.yml Dosyasını Oluşturun:
Projeye gitmek için terminalinizi açın ve proje dizinine gidin. Daha sonra aşağıdaki komutla `.gitlab-ci.yml` dosyasını oluşturun.
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the project"
- ./build-script.sh
test_job:
stage: test
script:
- echo "Running tests"
- ./run-tests.sh
deploy_job:
stage: deploy
script:
- echo "Deploying the project"
- ./deploy-script.sh
Bu dosya, üç temel aşamayı içeriyor:
- build: Projenin derlendiği aşama.
- test: Testlerin çalıştığı aşama.
- deploy: Projelerin dağıtıldığı aşama.
2. Pipeline’ı Başlatın:
Dosyayı kaydettikten sonra, GitLab otomatik olarak pipeline’ı başlatacak ve her aşama sırasıyla çalıştırılacaktır. İlk kez çalıştırdığınızda pipeline’inizi “CI/CD” sekmesinden takip edebilirsiniz.
CI/CD Sürecinde İş Akışının Yönetilmesi
GitLab CI/CD, sadece bir kez kurulum yapıp bırakılacak bir şey değildir. Devamlı olarak izlenmesi ve gerektiğinde güncellenmesi gerekir. Projenizin büyümesiyle birlikte, CI/CD süreçlerinizin de büyümesi gerekebilir.
1. Pipeline Durumunu İzleme:
GitLab, CI/CD pipeline’larının durumunu kolayca izleyebileceğiniz bir arayüz sunar. “CI/CD” sekmesine giderek pipeline’ların her birinin durumunu (başarılı, başarısız, beklemede vs.) görebilirsiniz. Eğer bir adım başarısız olursa, GitLab size hata mesajlarını gösterir.
2. Değişkenler ve Parametreler:
Geliştirme sürecinde kullanılan API anahtarları veya ortam değişkenleri gibi bilgileri güvenli bir şekilde saklamak için GitLab’ın CI/CD “Değişkenler” özelliğini kullanabilirsiniz. Projenizin ayarlarına gidin, “CI / CD” sekmesine tıklayın ve gerekli değişkenleri ekleyin.
3. CI/CD Pipelines’ı Hızlandırma:
Eğer projeleriniz büyükse ve sürekli değişiklik yapıyorsanız, pipeline sürecinin hızlanması çok önemli olabilir. GitLab’ın cache özelliği, testlerin ve derlemelerin daha hızlı yapılmasını sağlar. Bu sayede, önceki adımların çıktıları tekrar kullanılabilir.
GitLab CI/CD’yi Özelleştirmek ve Geliştirmek
GitLab, sadece temel bir yapılandırma ile sınırlı kalmaz. İhtiyacınıza göre CI/CD süreçlerinizi daha da özelleştirebilirsiniz. Örneğin, özel Docker konteynerleri ile çalışabilir, farklı sunuculara dağıtım yapabilirsiniz. GitLab’ın birçok entegrasyonu sayesinde Jenkins, Docker, Kubernetes gibi araçlarla kolayca birleştirebilirsiniz.
1. Docker ile Entegrasyon:
Eğer projeniz Docker kullanıyorsa, GitLab CI/CD pipeline’ınıza Docker container’ları dahil edebilirsiniz. Bu, ortam bağımsızlıklarını koruyarak yazılımınızın her yerde aynı şekilde çalışmasını sağlar.
2. Kubernetes ile Dağıtım:
Projenizi Kubernetes ortamında çalıştırmak istiyorsanız, GitLab’ın Kubernetes entegrasyonu sayesinde her şey otomatikleşebilir. Pipeline’ınızda Kubernetes işlevlerini kullanarak uygulamanızı doğrudan küme içinde dağıtabilirsiniz.
Sonuç
GitLab CI/CD, yazılım geliştirme sürecini hızlandırmak, hata oranını azaltmak ve daha verimli bir iş akışı sağlamak için harika bir araçtır. GitLab CI/CD’yi kurmak ve yönetmek başlangıçta karmaşık görünebilir, ancak adım adım ilerleyerek bu süreci kolayca yönetebilirsiniz. Unutmayın, otomasyon her zaman gelişim sürecinizin en büyük dostudur.