Bir şey ustalaşmaya karar verdiğinde
Genelde CI'mı her iş için çalışacak şekilde ayarlarım. Şubeler test edilinceye kadar şubeler master ile birleştirilmez. Master'da testleri çalıştırmaya güveniyorsanız, derlemenin kırılması için bir pencere açılır.
Testlerin bir CI makinesinde yapılması, tekrarlanabilir sonuçlar ile ilgilidir. CI sunucusunun VCS'nizden çıkardığı bilinen bir temiz ortamı olduğundan, test sonuçlarının doğru olduğunu biliyorsunuzdur. Yerel olarak çalıştırırken, geçmeleri için gereken bazı kodları vermeyi veya başarısız olmaları durumunda geçmelerini sağlayan açık kodları kullanmayı unutabilirsiniz.
Ayrıca, farklı süitleri paralel olarak çalıştırarak, özellikle her değişiklikten sonra yerel olarak çalıştırılmayan yavaş, çok dakikalık testler varsa, geliştiricilere zaman kazandırabilir.
Şu andaki işimde üretim dağıtımımız tüm testlerden geçerek CI'ye giriş yapıyor. Konuşlandırma komut dosyaları, geçmedikleri sürece dağıtımı engeller. Bu, yanlışlıkla çalıştırmayı unutmayı imkansız kılar.
CI iş akışının bir parçası olmak, geliştiricilerin de sorumluluğunu üstlenir. Bir geliştirici olarak genellikle her değişiklik için bir linter, statik analizör, birim testi, kod kapsamı ve entegrasyon testi kullanıyor musunuz? CI, tamamen otomatik olarak ve düşünmeye gerek kalmadan karar vermedeki yorgunluğu azaltabilir.