Sürekli Entegrasyon ve Dağıtım CI/CD

CI/CD, yazılımınızdaki her değişikliği test edip testler geçtiğinde yayına alan ve böylece yayını korkulan bir olay olmaktan çıkaran otomatik bir yoldur.

  • Bulut ve DevOps

Şu adla da bilinir sürekli entegrasyon sürekli teslimat dağıtım hattı

Tanım

CI/CD, yazılımınızdaki bir değişikliği onu yazan kişiden onu kullanan insanlara, adımları kimse elle yapmadan taşır. Adın iki yarısı var. Sürekli entegrasyon, her küçük değişikliğin aynı gün kodun ana kopyasına katılması ve bir makinenin onu hemen test etmesi demektir. Sürekli teslimat ise bu testler geçer geçmez değişikliğin yayına çıkması ya da tek bir düğmeyle çıkmaya hazır hâle gelmesi demektir.

Çoğu işletme öbür hâli yaşamıştır, yani birinin perşembe gecesi geç saate kadar oturup basılı bir listeyi takip ettiği hâli. O kişi dosyaları sunucuya kopyalar ve umut eder, bu da sinir bozucu bir iş olduğu için seyrek yapılır. Seyrek yapıldığı için de her yayın üç aylık değişikliği bir arada taşır. Böylece cuma sabahı bir şey bozulduğunda kırk değişiklikten hangisinin yaptığını kimse söyleyemez.

İnsanların yanlış anladığı yer şurası, çünkü kazancın büyük kısmı otomasyonun kendisinden gelmez. Bu kazanç, otomasyonun mümkün kıldığı sıklıktan gelir. Tek bir değişiklik taşıyan yayını kontrol etmek de geri almak da kolaydır, kırk değişiklik taşıyan yayın ise teslim tarihi olan bir bilmecedir. Bu yüzden her gün yayın yapan ekip, üç ayda bir yayın yapan ekipten daha az kötü gece geçirir. Fark, aracın zekâsı değil, adımın büyüklüğüdür.

İnsanların dağıtım hattı dediği bu otomatik yol, elle yapılırken kimsenin aklına gelmeyen kontroller için de doğal bir yerdir. Önce testler gelir, yanında da sisteminizin dayandığı dış kütüphanelerdeki bilinen açıkların taranması. Linkysoft bu taramayı her web uygulaması projesinde hattın içine koyar, çünkü biri hatırlayınca çalışan kontrol, çalışmayan kontroldür. Hattın neyi yayımlamayı reddedeceğini de siber güvenlik ekibimiz belirler.

Dürüst bir sınır var. Bir mobil uygulama dört dakikada yayına giremez, çünkü Apple ve Google her yeni sürümü önce inceler ve bu saatler ya da günler sürer. Hat uygulamayı yine de derler ve test eder, yalnızca son adım bekler. İmza atmadan önce tedarikçinizden bir yayını gözünüzün önünde çıkarmasını, sonra da siz bakarken geri almasını isteyin. Linkysoft bunu belgeyle değil canlı gösterimle yanıtlar, çünkü geri almanın ne kadar sürdüğü size her şemadan çok şey anlatır.

Sürekli Entegrasyon ve Dağıtım hakkında sorular

Küçük bir projede CI/CD gerekir mi?
Sisteminiz yılda birkaç kez değişiyorsa ilk harcamanız bu olmasın. Her hafta değişiyorsa hat, kazanılan akşamlarla yaklaşık bir ayda kendini öder.
CI/CD, değişiklikler kimse bakmadan yayına çıkar mı demek?
Hayır. Değişikliği yine bir insan okur ve onaylar. Hat yalnızca makinenin kontrol edebileceği adımları üstlenir; testleri çalıştırmak ve dosyaları kopyalamak gibi.
Bir yayın ne kadar sürmeli?
Web sistemi için dakikalar. Telefon uygulamasında durum farklıdır; Apple ve Google her sürümü önce inceler, saatleri ya da birkaç günü hesaba katın.
Bir yayın bir şeyi bozarsa ne olur?
Önceki sürümü geri koyarsınız, genellikle tek adımda. Tedarikçinizden bu adımı anlatmasını değil çalışırken göstermesini isteyin; hiç denenmemiş bir geri alma kötü günde nadiren işler.
CI/CD ile DevOps aynı şey mi?
Hayır. DevOps, yazılımı yapanların onu çalışır durumda tutmayı da üstlendiği bir çalışma biçimidir. CI/CD bunun somut bir parçasıdır ve en görünür olanıdır.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.