DevOps Foundations · Modül 6: CI temelleri ve artifact disiplini
Tek Sürüm, Tek Yapı
Hazırlık bir yapıyı test edip üretim başkasını taşırsa hat yabancıyı onaylamış olur. Bu ders bir kez derler, dürüst adlandırır, aynı baytları her yere taşır.
10 dk okuma
Kazanımlar
- Yapıyı bir kez derleyip aynı baytları aşamalardan geçirmek
- Sürüm adlarını aynı adın farklı baytları gösteremeyeceği kurmak
- Bağımlılık önbelleğini yapı kimliğinden ayırmak
- Ortam başına yeniden derlemenin neyi kırdığını açıklayıp durdurmak
Neden önemli
2.4.1 sürümü salı tüm kapılardan geçer; perşembe müşteri 2.4.1'in içeremeyeceği hatayı bildirir, çünkü perşembenin 2.4.1'i aynı etiketle yeni committen yeniden derlenmiştir. Hareketli etiket ve ortam başına derleme sürüm dizesini söylentiye çevirir. Olay müdahalesi hangi baytların koştuğuyla başlar; yeniden kullanılan ad bu soruyu yanıtsız bırakır.
Kavramlar
Tek derleme öğretinin tamamıdır. Hat tam bir yapıyı derler, değişmez kimlikle damgalar (içerik özeti ve insan sürümü); sonraki her aşama aynı dosyayı veya imajı test eder, tarar, dağıtır. Ortam başına derleme test edilmemiş birleşimleri geri sokar: farklı bağımlılık çözümü, farklı zaman damgası, farklı derleyici. Yükseltme bayt taşır; konfigürasyon ortam başına ayrı taşınır, M05
- dersin imajlara istediği gibi.
Adlar birebir olmalıdır: bir ad, bir bayt kümesi, sonsuza dek. İnsana anlamlı sürümler, makineye özet; etiketler insanların taşıdığı işaretçiler, özetler kimsenin taşıyamadığı kimliklerdir. Yayımlanmış etiketi üstüne yazma, tek sürüm adıyla farklı bayt yükleme: kayıt ve önbellekler hatırlar, iki makine tek adı çekip farklı yazılım alır. Derleme kötüyse yeni sürüm bas; geçmiş yalnızca eklenir.
Önbellekler derlemeyi hızlandırır; kimliği asla tanımlamaz. Bağımlılık ve katman önbellekleri kilit dosyası ve içerik karmasına anahtarlanır, dal adına veya latest'e asla; çünkü zehirli veya bayat önbellek girdisi sessizce ürün olur. Yapı kimliği derleme sonrası kendi özetinden gelir; hangi önbellek isabeti olduğundan bağımsızdır. L18 labı yanlış önbellek anahtarının taze ad altında bayat kodu yükselttiğini gösterir; L17 labı tek adı paylaşan iki bayt kümesini ve ardındaki olayı gösterir.
Köken kaydı bağı izler: kaynak commit, derleme tanım sürümü, taban imaj özeti, bağımlılık kilitleri, kapı hükümleri. İmzalama (Sigstore, kayıt imzaları) her ortamın yapının gerçek hattan geldiğini koşmadan doğrulamasını sağlar. Dağıtımda doğrulama hattın derlemede açtığı döngüyü kapatır.
Uygulamalı örnek
Hazırlık ve üretim 2.4.1 adı altında farklı bayt koşar. İz: pazartesi çekilen özetle perşembe çekilen özet farklı, ad aynı kalmış. Beklenen okuma: etiket yeniden derlemeyle üstüne yazılmış; pazartesinin onaylı baytlarıyla perşembenin koşan baytları farklı. Onarım etiketleri dondurur (kayıt değişmezlik kuralları), özete göre yükseltir, her ortamın aynı sha256'yı çözdüğünü gösterir. İki ortamda özeti çekip karşılaştırarak doğrula: aynı baytlar, artık doğruyu söyleyen tek ad. L17 labı hareketli etiket olayını minyatürde canlandırır, yalnızca-eklenir düzeltmeyi ister.
Yaygın yanlış hamle
Dağıtım başvurusu olarak latest veya ortam ekli derlemeler (app-prod, app-staging'den ayrı derlenir). latest her çekişte farklı çözülür; geri almalar bilinmeyen baytları geri getirir. Ayrı derlemeler üretimin test edilen yapıyı hiç koşmadığı demektir. Rakamları sabitle, özetleri yükselt; latest pano olsun, adres asla.
Lab ve sonraki adım
L17 labı iki bayt tek ad olayını kurar, özet kanıtlı değişmez düzeltmeyi ister. Sırada 4. ders hattın kendi ayrıcalıklarını kilitler: kimlik bilgileri, izinler ve saldırı yüzeyi olarak önbellek.
Mini kontrol
4 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye sayılmaz.
Ders geri bildirimi
Henüz yayında geri bildirim yok.
Geri bildirim yazmak için giriş yap ve dersi tamamla.
Kaynaklar
Alıştırma
Kullandığın yapı akışını al. Yapının nerede derlendiğini, bir aşamanın yeniden derleyip derlemediğini, sürüm adının hareket edip edemeyeceğini göster. Bir akışı tek derleme özete göre yükseltmeye çevir; iki ortamın aynı özeti çözdüğünü göster.
Geçme kriterleri
Derleme noktaları yeniden derlemelerle haritalanmış; sürüm hareketliliği belirtilmiş; bir akış çevrilmiş, özet eşitliği iki ortamda gösterilmiş.