01Sorun ve çözüm
CI/CD kurulumu hizmetimizde kodun depoya girdiği andan canlıya çıktığı ana kadar her adımı otomatik bir hatta toplarız: derleme, test, güvenlik taraması, paketleme, test ortamına dağıtım, onay ve canlıya geçiş. Her çalıştırma kayıt altındadır; bir adım başarısız olursa hat durur ve ekibe haber verir.
Devamını okuDaha az göster
Kurulum, ekibinizin kullandığı depoya ve dağıtım hedefine göre şekillenir; hedef tek bir sunucu da olabilir, konteyner kümesi de. Hattı yalnızca kuran kişinin değil tüm ekibin okuyup değiştirebilmesi için tanımları kod olarak depoda tutar ve belgelendiririz.
02Kimler için
Hangi ekipler için CI/CD kurulumu gerekli
Aşağıdaki işaretler, yayın sürecini otomatikleştirmenin zamanının geldiğini gösterir.
- Sürümü elle ve çoğunlukla gece ya da hafta sonu yapan yazılım ekipleri
- Yayınların tek bir kişiye bağlı olduğu ve o kişi yokken işlerin beklediği şirketler
- Birden fazla geliştiricinin aynı kod tabanında çalışıp birleştirme sorunlarıyla uğraştığı ürün ekipleri
- Web, mobil ve arka uç bileşenlerini ayrı ayrı yayınlayıp sürüm uyumsuzluğu yaşayan firmalar
- Müşteri ya da denetçi isteğiyle her değişikliğin kim tarafından, ne zaman yayınlandığını gösterebilmesi gereken kuruluşlar
03İhtiyaçlar
Elle yayın yapan ekiplerin yaşadığı sorunlar
Aynı nedenler farklı ekiplerde benzer biçimde tekrar eder.
- 01
Bilginin kişiye bağlı kalması
Hangi dosyanın nereye kopyalanacağını, hangi komutların hangi sırayla çalışacağını yalnızca bir kişi bilir. İzin ya da ayrılık, yayın sürecini durdurur.
- 02
Makineden makineye fark
Geliştiricinin bilgisayarında çalışan kod, sunucudaki farklı bağımlılık sürümleri yüzünden canlıda hata verir.
- 03
Atlanan testler
Zaman baskısı altında testler elle çalıştırılır ya da hiç çalıştırılmaz; hata canlıda bulunur.
- 04
Geri dönememe
Önceki sürümün paketi saklanmadığı için hatalı bir yayından dönmek saatler alır.
- 05
Dağınık gizli bilgiler
Parolalar ve anahtarlar betiklerde, sohbet geçmişinde ya da herkesin görebildiği dosyalarda durur.
04Özellikler
Bir CI/CD kurulumu hizmetinde neler teslim edilir
Teslim edilen şey bir araç değil, ekibinizin her gün kullanacağı çalışan bir hattır.
- 01
Otomatik derleme ve test
Her birleştirme isteğinde birim ve entegrasyon testleri ile kod biçimi ve statik analiz kontrolleri çalışır; geçmeyen değişiklik ana dala giremez.
- 02
Ortam hattı
Geliştirme, test ve canlı ortamları arasında aynı paket ilerler. Her ortamda yeniden derleme yapılmaz, yalnızca ayarlar değişir.
- 03
Dağıtım stratejisi
Kademeli güncelleme, mavi-yeşil ya da kanarya yöntemlerinden uygun olanı seçilir. Veritabanı değişiklikleri hatta bir adım olarak yer alır; önceki sürüme dönüş yolu önceden denenir.
- 04
Güvenlik kapıları
Bağımlılık açıkları, kod içinde unutulmuş gizli anahtarlar ve konteyner imajları taranır; ciddi bulgu çıkan sürüm canlıya geçmez.
- 05
Görünürlük
Kimin neyi ne zaman yayınladığı, hangi testin neden başarısız olduğu ve yayın notları ekip kanalınıza düşer.
05Entegrasyonlar
Hattın bağlandığı araçlar
Ekibinizin zaten kullandığı araçları tercih ederiz; amaç araç değiştirmek değil, akışı düzenlemektir.
- 01
Kod depoları
GitHub, GitLab, Bitbucket veya Azure Repos üzerinde dal kuralları ve birleştirme onayları tanımlanır.
- 02
Hat araçları
GitHub Actions, GitLab CI/CD, Jenkins, Azure Pipelines veya Bitbucket Pipelines kullanılabilir; seçim depo, ekip alışkanlığı ve gizlilik gereksinimine göre yapılır.
- 03
Paket ve imaj kayıt defterleri
Derlenen paketler ve konteyner imajları sürüm etiketiyle saklanır; böylece her yayın yeniden üretilebilir.
- 04
Dağıtım hedefleri
Sanal sunucu, Docker Compose, Kubernetes, yönetilen uygulama platformları ve sunucusuz işlevlerin yanında mobil uygulama derlemelerinin mağaza test kanallarına gönderimi de otomatikleştirilebilir.
- 05
Gizli bilgi kasası ve bildirimler
Parolalar ve API anahtarları kasada tutulur; sonuçlar Slack, Teams, e-posta veya iş takip aracınıza iletilir.
06Süreç
Hat kurulumu nasıl ilerler
Adım 01
Mevcut akışın haritası
Kodun bugün nasıl canlıya çıktığını, kimlerin hangi adımı yaptığını ve nerede sorun yaşandığını birlikte çıkarırız.
Adım 02
Hat tasarımı
Ortamları, dal stratejisini, dağıtım yöntemini ve onay noktalarını yazar, sizinle onaylarız.
Adım 03
Derleme ve test hattı
Önce her değişiklikte çalışan derleme, test ve kod kontrol aşamalarını kurarız.
Adım 04
Dağıtım hattı
Test ortamına, ardından onaylı olarak canlıya dağıtımı otomatikleştirir, geri dönüşü deneriz.
Adım 05
Güvenlik ve gizli bilgiler
Taramaları ekler, gizli bilgileri kasaya taşır, yetkileri en aza indiririz.
Adım 06
Devir ve bakım
Hattı ekibinize anlatır ve belgeleriz; isterseniz bakım ve destek kapsamında güncel tutarız.
07Teknoloji
Araç seçimi ve CI/CD kurulumu yaklaşımımız
Hattı, bir kez derleyip her ortama aynı çıktıyı dağıtma ilkesiyle kurarız; böylece test edilen paket ile canlıya çıkan paket aynı olur. Hat tanımları kod olarak depoda durur, değişiklikleri incelemeden geçer ve geçmişi izlenir.
Devamını okuDaha az göster
Hat uzadıkça ekip onu atlamaya başlar. Bu yüzden hızlı geri bildirim veren kontrolleri öne alır, önbellek ve paralel çalıştırmadan yararlanır, yalnızca değişen bileşeni derleriz. Bazen geçip bazen kalan güvenilmez testler hattı yavaşlatır ve güveni azaltır; bunları ayıklamak kurulumun parçasıdır.
Bulut hesaplarına uzun ömürlü anahtar yerine geçici kimlik bilgileriyle (OIDC) bağlanır, gizli değerlerin günlüklere sızmasını engelleriz. Canlıya dağıtım yetkisi sınırlı kişilerde olur ve her dağıtım denetim kaydı bırakır. Kurulumdan sonra araç güncellemeleri ve hat bakımı için bakım ve destek modeliyle devam edebiliriz.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
09Sık sorulan sorular
CI/CD kurulumu hakkında sık sorulan sorular
CI/CD kurulumu fiyatları hangi kalemlere göre değişir?
Dağıtılacak uygulama sayısı, ortam sayısı, mevcut test altyapısı, tercih edilen araç ve dağıtım hedefi belirleyicidir. Kapsam yazılı çıkarılır ve proje sabit kapsamla yürütülür.
Hiç otomatik testimiz yoksa CI/CD yine de işe yarar mı?
Yarar. Otomatik derleme, kod kontrolü ve tekrarlanabilir dağıtım testsiz de değer katar. Temel bir duman testiyle başlanır, test kapsamı zamanla genişletilir.
CI/CD için Kubernetes kullanmak şart mı?
Değil. Tek bir sunucuya güvenli biçimde dağıtım yapan bir hat da CI/CD'dir. Kubernetes, yalnızca uygulamanızın ihtiyacı olduğunda dağıtım hedefi olur.
GitHub Actions, GitLab CI ve Jenkins arasında nasıl seçim yapılır?
Kodunuz hangi platformdaysa onun yerleşik hat aracı genellikle en az bakım yükü getirir. Jenkins; yerel ağda çalışması ya da özel eklenti gerektirmesi gibi koşullarda mantıklıdır.
Canlıya çıkış tamamen otomatik mi olacak?
İsteğe bağlı. Test ortamı otomatik, canlı ortam ise bir onayla ilerleyen yapı sık tercih edilir. Ekip olgunlaştıkça onay adımı da otomatik kontrollere devredilebilir.
CI/CD kurulumu firması olarak kodumuza erişmeniz gerekir mi?
Evet, hattı kurabilmek için depoya erişim gerekir. Erişim kapsamı ve gizlilik koşulları sözleşmede yazılı olarak belirlenir; yetki yalnızca gereken depolarla sınırlı tutulur.
Hat bozulduğunda ya da araç güncellendiğinde kim ilgilenir?
Hattı ekibinize devrederiz. İsterseniz bakım ve destek anlaşmasıyla güncellemeleri ve arızaları biz üstleniriz.
10İlgili hizmetler