Continuous Integration Sürekli Entegrasyon (CI)
Herkese merhaba,
Bugün sizlerle yazılım yaşam döngüsünü hızlandıran ve grup çalışmalarında hayat kurtaran Continuous Integration yani sürekli entegrasyon konusunu konuşacağız.🙌
Konuyu fazla uzatmadan sürekli entegrasyonun ne olduğuna geçelim.
Sözlük tanımı isteyenler için sürekli entegrasyon, tüm geliştiricilerin çalışma kopyalarını günde birkaç kez paylaşılan bir ana hatta birleştirme uygulamasıdır. Geliştirme sürecinde tek seferde büyük değişiklikler yerine sürekli yapılan küçük değişiklikler uygulamaya aktarılır. Buradaki asıl amaç, yazılım geliştirme ve test sürecini küçük değişiklerle sağlıklı bir şekilde yönetmektir.
Konuyu biraz daha açmak gerekirse, yazılım geliştiriciler yazdıkları kodu ortak bir alana yükler. Böylece herkesin yazdığı kod ortak alanda derlenir ve çalışan ürün elde edilir. Bir yazılım geliştirici yeni bir işlevsellik geliştireceği zaman ortak alanda bulunan kodu kendi bilgisayarına çeker, geliştirici işlevselliği geliştirdikten sonra yazdığı kodu paketleyip, test edilecek ortama geri yükler bu sürece de sürekli entegrasyon denir. İşlem bu kadar kolay gibi görünse de tahmin edersiniz ki gerçek hayatta işler bu kadar kolay değildir. Büyük ölçekli yazılımlar geliştirmek zor ve zahmetli bir iştir. Bu işi en iyi şekilde yapmak ve yüksek kaliteli ürün oluşturabilmek için disiplin ve koordinasyon gereklidir.
Peki avantajları nelerdir?🤔
Avantajları:
- Sorunları erken ve hızlı bir şekilde tespit etme imkanı
- Hızlı ve sık entegrasyonlar
- Ekipler arasındaki işbirliğini ve iletişimi artırma
- Sürekli entegrasyon döngüsü, yazılımın daha hızlı teslimatını sağlar
- Hata ayıklamada daha az zaman harcama
- Test ve sürüm için yapının sürekli kullanılabilirliği
- Son dakika, uzun ve karmaşık entegrasyondan kaçınma
Avantajları da öğrendiğimize göre sıra kullanılan araçlarda.
- Jenkins
- Bamboo
- TeamCity
- Circle CI
- Travis CI
Bugünlük bu kadar konuyu daha derinlemesine araştırmak ve bilgi edinmek için Martin Fowler’ın makalesinin linkini bırakıyorum. Keyifli okumalar…
📖📚