DevOps Foundations · Modül 6: CI temelleri ve artifact disiplini
Anlamı Olan Hat Aşamaları
Hat bir iddialar zinciridir: bu derlenir, bu geçer, taşıdığımız yapı budur. Bu ders her aşamaya tek iş verir; yeşil derleme belirli bir anlama gelir.
10 dk okuma
Kazanımlar
- Her teslim hattının ihtiyaç duyduğu aşamaları ve her birinin neyi kanıtladığını saymak
- Ucuz kontroller önce, yavaşlar sonra çalışacak aşamaları sıralamak
- Aşama kapısının neyi kabul, neyi reddedip neyi kaydettiğini açıklamak
- Hat tanımını okuyup hiçbir şeyi kanıtlamayan aşamayı bulmak
Neden önemli
Ekipte dokuz aşamalı hat var, hepsi yeşil; bozuk kod ayda iki kez üretime ulaşıyor. Aşamalar linti dağıtımdan sonra çalıştırıyor, testler taşınan yapıdan farklı yapıya karşı koşuyor, okunmayan elle onayı bekliyor. Yeşil, adımların çalıştı demek; iddiaların tuttu demek değil. Her aşama tam bir şeyi kanıtlamalı, en ucuz kanıt önce koşacak sırada.
Kavramlar
Standart aşamalar: teslim alma, derleme, hızlı kontroller (lint, birim test), yavaş kontroller (bütünleşme, güvenlik taraması), paketleme (yapı ve üstveri), dağıtım (veya inceleme yayını). Her aşama girdi, komut kümesi ve çıktı bildirir; kayıtlı çıktı üretmeyen aşama hiçbir şeyi kanıtlamaz, süs içindir. Erken durdurma ekonomidir: üç saniyelik lint arızası yirmi dakikalık bütünleşme paketi arkasında beklememelidir. Maliyete göre sırala, artarak.
Aşamalar birbirine yapılarla konuşur, hisle değil. Derleme aşaması sonraki aşamaların test edip taşıyacağı tam yapıyı üretir; testler paketlenmiş yapı yerine yeniden derlemeye koşarsa hat bir şeyi onaylayıp başkasını taşır.
- ders bunu hava geçirmez yapar. Elle kapılar insan yargısının sonucu
değiştirdiği yere aittir (riskli değişikliğin üretim dağıtımı), otomatik adımlar arası konfeti olarak değil; orada yalnızca kuyruk süresi ekler.
Kod olarak hat, tanımın depoda yaşamasıdır; uygulama kodu gibi incelenir, geçmişi vardır. Tıkla kurulan hatlar sürüklenir: üçüncü acil düzeltmeden sonra
- adımın ne yaptığı bilinmez, altı ay önceki koşuyu yeniden üretmek
arkeolojidir. Sürümlü tanımlar hattın kendisini test edilebilir kılar: adımı değiştir, koşuyu izle, kaydı oku.
Uygulamalı örnek
Hat birim testleri Docker derlemesinden sonra çalıştırır, entegrasyona hazır olmadan hazırlığa dağıtır. İki arıza: yirmi dakikalık derleme on saniyelik birim paketi önünde koşar, her yazım yanlışı yirmi dakikaya mal olur; hazırlık sonradan reddedilen kodu alır, sürekli bozuktur. Onarım sıralar: teslim alma, lint ve birim, derleme, derlenen imaja karşı bütünleşme, paketleme, sonra hazırlık. Beklenen okuma: yazım geri bildirimi saniyelerde, hazırlıkta yalnızca bütünleşmeden geçmiş imajlar, her aşama çıktısı onayladığı yapı karmasını adlandırır. L16 labı bunu kasıtlı düşen testle canlandırır; hat durmalıdır.
Yaygın yanlış hamle
Disiplin için aşama eklemek. Testleri kararsız ekip yeniden deneme aşaması ekler, sonra elle onay, sonra bildirim; hat kimsenin güvenmediği, herkesin yönetici hakkıyla atladığı labirent olur. Aşama titizlik üretmez; her aşama gerçekten yaptığı retle vardır. Ayda aşama başına retleri say: hiç reddetmeyen aşama silme adayıdır.
Lab ve sonraki adım
L16 labında düşen test gerçekten aşağıyı durdurur; duruş koşu kaydında görünür. Sırada 2. ders kapıların derinine iner: ne engeller, ne uyarır, hangisi tiyatrodur.
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 hattı al (veya yukarıdaki dokuz aşamalıyı). Her aşamayı girdi, çıktı ve yaptığı retle listele. Maliyete göre yeniden sırala; hiçbir şeyi kanıtlamayanı kaldır veya onar; önce/sonra aşama listesini yaz.
Geçme kriterleri
Her aşama girdi, çıktı ve gerçek retiyle listelenmiş; sıralama artan maliyeti izliyor; süs aşamalar gerekçeyle kaldırılmış veya onarılmış.