CI/CD ve web DevOps nedir, kimler için uygundur?
CI (sürekli entegrasyon) her kod değişikliğinin otomatik olarak derlenip test edilmesi; CD (sürekli teslim/dağıtım) ise test edilen sürümün tekrarlanabilir adımlarla ortamlara aktarılmasıdır. Amaç, yayını bir kişiye ve bir FTP istemcisine bağlı riskli bir işlem olmaktan çıkarıp kayıtlı, onaylı ve geri alınabilir bir sürece dönüştürmektir.
Bu hizmete en çok ihtiyaç duyan kuruluşlar
Çözdüğümüz kurumsal problemler
Cuma akşamı yayın korkusu
Her yayın elle yapılıyor; bir adım unutulunca site bozuluyor.
Kim neyi yayınladı?
Canlıdaki sürümün hangi koda karşılık geldiği bilinmiyor.
Gizli bilgiler kodda
Veritabanı şifreleri ve API anahtarları depoda açık duruyor.
Her yayın bir kayıt
Birleştirme isteği, kod incelemesi, otomatik test sonucu, onaylayan kişi ve dağıtım zamanı CI/CD sisteminde kendiliğinden kayıt altına alınır. Bu kayıtlar değişiklik yönetimi kanıtı olarak da kullanılabilir.
CI/CD ve web DevOps kapsamında neler yapıyoruz?
Depo ve dal stratejisi
Ana dal koruması, birleştirme isteği kuralları, kod incelemesi.
CI hattı
Lint, birim/entegrasyon testleri, güvenlik taraması, derleme ve artefakt.
Ortamlar
Geliştirme, staging ve canlı; ortam değişkenleri ve gizli bilgi yönetimi.
Dağıtım
SSH/rsync, container veya platform dağıtımı; veritabanı geçişleri.
Onay ve geri dönüş
Canlı için manuel onay, sürüm etiketi, önceki sürüme tek adımda dönüş.
Bildirim
Teams/e-posta ile yayın ve hata bildirimleri.
Mevcut sürece en yakın otomasyonla başlıyoruz
İlk adımda elle yapılan yayını birebir otomatikleştiriyor, ardından testleri ve onay adımlarını ekliyoruz. Container tabanlı yayın için Docker, WordPress projelerinde staging ve WP-CLI akışları kullanılır.
Örnek hat aşamaları
Lint, tip kontrolü, bağımlılık güvenlik taraması
Birim ve entegrasyon testleri
Uygulama derlemesi / imaj oluşturma ve etiketleme
Otomatik dağıtım ve duman testi
Onaylı dağıtım, sağlık kontrolü
Sizden beklediğimiz girdiler
Çalışmanın hızlı ve doğru ilerlemesi için başlangıçta aşağıdaki bilgi ve erişimlere ihtiyaç duyarız. Eksik olanları birlikte tamamlarız.
Somut proje çıktıları
Teslim edilen dokümantasyon
Canlıya geçişten sonra işletilecek kontroller
Proje bittiğinde sistemin sağlıklı kalması için aşağıdaki kontroller sahiplerine devredilir; istenirse bakım sözleşmesiyle Eretek tarafından yürütülür.
Sık sorulan sorular