GitLab CI/CD Nedir?
GitLab CI/CD, yazılım projelerini sürekli olarak entegre etmek ve teslim etmek için kullanılan güçlü bir otomasyon aracıdır. Yani, yazılım geliştirme sürecinin her aşamasında, yazdığın kodu test etmek, derlemek ve canlıya almak için elle yapman gereken işleri GitLab’ın otomatik olarak yapmasını sağlarsın. Peki, neden bu kadar önemli? Çünkü CI/CD, yazılım geliştirme süreçlerini hızlandırır, hataları azaltır ve takım çalışmasını daha sorunsuz hale getirir. Her şeyin bir düzene girmesi ve otomatize olması, sana zaman kazandırır.
Şimdi gel, GitLab CI/CD’yi nasıl kuracağımıza adım adım bakalım!
Adım 1: GitLab Hesabı Oluşturun
İlk adım, bir GitLab hesabı oluşturmak. GitLab’ın resmi web sitesine gidip, kaydolman çok kolay. GitLab'ın birçok planı var, ama eğer sadece kişisel veya küçük projelerde kullanacaksan ücretsiz planını tercih edebilirsin.
GitLab’ı kurmadan önce bir repo oluşturmak da önemli bir adımdır. Hadi, bu adımdan sonra GitLab’ı CI/CD iş akışına entegre etmeye başlayalım.
Adım 2: GitLab Runner’ı Kurma
GitLab CI/CD'nin çalışabilmesi için bir GitLab Runner kurman gerekiyor. Runner, GitLab’a iş akışlarını ve görevleri nasıl çalıştıracağına dair talimat verir. GitLab Runner’ı kurmak için terminale aşağıdaki komutu yazabilirsin:
sudo apt-get install gitlab-runner
Bu komut, GitLab Runner’ı bilgisayarına kuracaktır. Eğer macOS kullanıyorsan, Homebrew ile şu komutu kullanabilirsin:
brew install gitlab-runner
GitLab Runner kurulduktan sonra, runner’ı GitLab hesabına kaydettirmen gerekiyor. Bunun için şu komutu kullanabilirsin:
sudo gitlab-runner register
Bundan sonra bir dizi soruyla karşılaşacaksın. GitLab URL’sini (örneğin: https://gitlab.com) ve token bilgisini girmen gerekecek. Token’i, GitLab projende Settings > CI / CD sekmesinde bulabilirsin.
Adım 3: GitLab CI/CD Pipeline'ını Yapılandırma
GitLab’da CI/CD pipeline’ları, yazılım geliştirme sürecinde neleri, nasıl ve ne zaman çalıştırman gerektiğini belirler. CI/CD pipeline’ı, bir `.gitlab-ci.yml` dosyasıyla yapılandırılır. Bu dosya, proje kök dizinine yerleştirilmelidir.
İlk basit pipeline’ını aşağıdaki gibi oluşturabilirsin:
stages:
- build
- test
- deploy
build-job:
stage: build
script:
- echo "Building the project..."
test-job:
stage: test
script:
- echo "Running tests..."
deploy-job:
stage: deploy
script:
- echo "Deploying the project..."
Burada stages, işlemlerin sırasını belirler. build-job, test-job ve deploy-job ise her aşamada yapılacak işleri tanımlar. Bu dosyayı projene eklediğinde, GitLab her push işleminden sonra otomatik olarak bu işlemleri başlatacak.
Adım 4: Pipeline’ı Çalıştırma ve Sonuçları İnceleme
Artık her şey hazır! GitLab’a bir push gönderdiğinde, `.gitlab-ci.yml` dosyanıza göre bir pipeline otomatik olarak çalışacaktır. GitLab, her aşamanın durumunu CI/CD > Pipelines sekmesinde gösterir.
Pipeline’ın her adımında neler olduğunu, hangi adımın geçtiğini veya hangi adımda hata aldığını buradan takip edebilirsin. Bu, yazılım geliştirme sürecinde oldukça faydalıdır, çünkü hatalar hemen tespit edilir ve düzeltilir.
Adım 5: Pipeline'a Gelişmiş Özellikler Eklemek
Artık temel bir CI/CD pipeline’ını kurduk, ancak işin içine biraz daha derinleşmek istersen, GitLab CI/CD birçok gelişmiş özellik sunar. Örneğin, cache kullanarak derleme süreçlerini hızlandırabilir, artifact kullanarak dosyalarını kaydedebilir veya environment kullanarak farklı dağıtım ortamları belirleyebilirsin.
Örnek olarak, cache özelliğini şu şekilde ekleyebilirsin:
build-job:
stage: build
script:
- echo "Building the project..."
cache:
paths:
- node_modules/
Bu sayede, her seferinde node_modules yeniden indirilmez ve bu, pipeline’larının hızını artırır.
GitLab CI/CD Yönetimi ve İpuçları
GitLab CI/CD, sadece yazılım geliştirme sürecini hızlandırmakla kalmaz, aynı zamanda ekipler arasında güçlü bir işbirliği sağlar. Takım arkadaşlarınla birlikte pipeline’ları güncelleyebilir, iş akışlarını özelleştirebilir ve projenin her aşamasında otomatik kontroller yapabilirsin.
Unutma, CI/CD süreçlerini düzenli olarak gözden geçirmek ve optimize etmek çok önemlidir. Her yeni özellik eklediğinde veya her yeni entegrasyon sağladığında, pipeline’larını test etmeyi unutma!
Ayrıca, GitLab’ın sunduğu Auto DevOps gibi özellikleri kullanarak çok daha gelişmiş pipeline’lar oluşturabilirsin.