Onur Oduncu
Ana SayfaHakkımdaProjelerBlogTeknolojilerİletişim
Onur Oduncu

Uzun ömürlü sistemler tasarlayan ve bilgisini paylaşan bir teknoloji portfolyosu.

© 2026 Onur Oduncu. Tüm hakları saklıdır.

Blog'a Dön

CI/CD Pipeline Kurarken Sık Yapılan 7 Hata

GitHub Actions ile pipeline kurarken karşılaştığım, yavaşlığa ve güvensiz deploy süreçlerine yol açan yaygın hataları listeliyorum.

14 Temmuz 20261 görüntülenme2 dk okuma
~/blog/ci-cd-pipeline-sik-yapilan-hatalar

CI/CD Pipeline Kurarken Sık Yapılan 7 Hata

Onlarca projede CI/CD pipeline kurduktan sonra, tekrar tekrar karşılaştığım hataları bir araya getirdim.

1. Bağımlılık Önbelleğini Kullanmamak

Her build'de node_modules'ün sıfırdan indirilmesi, dakikalarca süren gereksiz bekleme demektir. npm/pnpm cache mekanizmalarını pipeline'a doğru şekilde entegre etmek, build sürelerini yarıya indirebilir.

2. Testleri ve Build'i Aynı Adımda Çalıştırmak

Testler başarısız olduğunda build'in de gereksiz yere çalışması, hem zaman hem hesaplama kaynağı israfına yol açar. Test ve build adımlarını ayırıp erken başarısızlık (fail fast) prensibini uygulamak gerekir.

3. Secrets'ı Ortam Değişkeni Yerine Koda Gömmek

Bu en tehlikeli hata. API anahtarları ve veritabanı bağlantı bilgileri her zaman CI/CD platformunun secret yönetimi üzerinden geçmeli, asla repoya commit edilmemeli.

4. Tek Bir Ortam İçin Test Etmek

Yalnızca "production benzeri" bir ortamda test yapmak, farklı Node sürümleri veya işletim sistemlerinde ortaya çıkabilecek sorunları gözden kaçırabilir.

5. Rollback Stratejisi Olmadan Deploy Etmek

Bir deploy'un başarısız olması durumunda önceki sürüme hızlıca dönebilecek bir mekanizma olmadan production'a çıkmak, küçük bir hatayı büyük bir kesintiye dönüştürebilir.

6. Docker Image'lerini Etiketlemeden "latest" Kullanmak

Yalnızca latest etiketiyle çalışmak, hangi commit'in production'da çalıştığını izlemeyi imkansız hale getirir. Commit SHA'sı ile etiketleme, izlenebilirlik sağlar.

7. Pipeline'ı Hiç İzlememek

CI/CD kurulduktan sonra unutulan bir sistem değildir. Build sürelerini, başarısızlık oranlarını düzenli olarak izlemek, zamanla birikmiş verimsizlikleri ortaya çıkarır.

Sonuç

İyi bir CI/CD pipeline, hız ile güvenlik arasında doğru dengeyi kurar. Bu hataların çoğu, pipeline'ı kurduktan sonra "bir daha dokunmama" alışkanlığından kaynaklanıyor.