terminalDevOps

Kendi Sunucunda Barındırılan CI Seçenekleri

Koşucular, maliyet ve derleme ortamları üzerinde kontrol sahibi olmak isteyen ekipler için kendi kendine barındırılan CI seçeneklerine dair pratik bir rehber.

Barındırılan CI kullanışlıdır, ta ki derlemeler yavaşlayana, pahalılaşana veya hata ayıklaması zorlaşana kadar. Kendi kendine barındırılan CI, ekiplere koşucu boyutu, ağ erişimi, önbellekleme, sırlar ve derleme ortamları üzerinde daha fazla kontrol sağlar.

Takas açıktır: sahiplik kazanırsınız, ancak bakımı da üstlenirsiniz.

Kendi kendine barındırılan CI ne zaman değer

Kendi kendine barındırılan CI, büyük derlemeleriniz, özel altyapı erişiminiz, özel donanımınız, katı uyumluluk gereksinimleriniz veya yoğun CI kullanımından kaynaklanan maliyet baskınız olduğunda mantıklıdır.

Ayrıca derlemelerinizin barındırılan bir koşucuda yeniden oluşturulması zor olan veritabanlarına, dahili hizmetlere veya ağ koşullarına ihtiyaç duyduğu durumlarda da faydalıdır.

Dikkate alınması gereken araçlar

Woodpecker CI, ağır bir platform olmadan tam bir CI sunucusu isteyen ekipler için iyi çalışan hafif bir kendi kendine barındırılan CI sistemidir. Açık kaynaklıdır, konteyner dostudur ve küçük altyapı ekipleri için pratiktir.

Dagger, boru hattı mantığını koda taşıyarak kendi kendine barındırılan CI'yi tamamlayabilir. Woodpecker veya başka bir sistem işleri çalıştırsa bile Dagger, gerçek derleme/test/yayınlama davranışını taşınabilir tutabilir.

Earthly, ana sorun tekrarlanabilir derlemeler olduğunda güçlüdür. Earthfiles, aynı derlemeyi yerel olarak ve CI'da çalıştırmayı kolaylaştırarak "sadece CI'da çalışır" kafa karışıklığını azaltır.

Koşucu tasarımı

Mümkün olduğunda koşucuları tek kullanımlık tutun. Uzun ömürlü koşucular durum, önbellek, kimlik bilgileri ve gizemli davranışlar biriktirir. Temiz bir koşucu modeli, akıl yürütmesi daha kolay ve daha güvenlidir.

Performans için bağımlılıkları bilinçli olarak önbelleğe alın. Kazara oluşan makine durumunun derlemenin bir parçası haline gelmesine izin vermeyin.

Temel güvenlik

Kendi kendine barındırılan CI genellikle sırlara, dağıtım hedeflerine ve özel koda ayrıcalıklı erişime sahiptir. Buna göre koruyun:

  • koşucuları izole edin
  • sırları proje bazında kapsamlandırın
  • güvenilmeyen çekme isteklerini üretim kimlik bilgileriyle çalıştırmaktan kaçının
  • token'ları döndürün
  • dağıtım eylemlerini günlüğe kaydedin

CI sadece otomasyon değildir. Altyapınızın yüksek güven gerektiren bir parçasıdır.

Geçiş yolu

Pahalı veya zahmetli bir iş akışını taşıyarak başlayın. Kendi kendine barındırılan sürüm kararlı hale gelene kadar eski barındırılan CI yolunu kullanılabilir tutun. Çalışma süresini, maliyeti, başarısızlık oranını ve geliştirici memnuniyetini ölçün.

Kendi kendine barındırılan CI bir hobi projesine dönüşürse, yeniden değerlendirin. Amaç daha iyi teslimat, daha fazla altyapı gösterisi değil.

Daha fazlasını keşfedin

CI, derleme ve otomasyon araçlarını DevOps bölümünde bulabilirsiniz; Woodpecker CI, Dagger ve Earthly dahil.

DevOps

Daha fazla: DevOps.

Kategoriye göz at