mühendislik
CI'yi arm64'e geçirmek: gerçekte bozulan şey
200 depoyu arm64 runners'a taşıdık. İşte neyin başarısız olduğunun ve nedenlerinin tam listesi.
{yazar} · {rol} · {tarih} · {dakika} {dakika Etiketi}
arm64 dakika başına daha ucuzdur ve genellikle daha hızlıdır. Geçiş genellikle basittir. Öyle olmadığında, sebep neredeyse her zaman aynı kategorideki şeydir.
Sıklık sırasına göre ne kırıldı?
- Aarch64 ön derlemesi olmayan, yavaş kaynak derlemesine geri dönen geçişli yerel Düğüm modülleri
- Manylinux_aarch64 tekerleği olmayan Python paketleri, kaynaktan derleniyor
- Yalnızca AMD64 etiketine sabitlenmiş Docker temel görselleri
- Arm64 varyantı olmayan servis konteynerleri, sessizce emülasyona geri dönüyor
- Runner.arch olmadan önbellek anahtarları, x64 yapıtlarını arm64'e geri yükleme ve bağlayıcı hatalar oluşturma
Ne kırılmadı
Neredeyse tamamı saf uygulama kodu. Go, Rust, Java, Ruby, PHP ve modern Node'un tümü temiz bir şekilde kesişiyor. Başarısızlıklar dillerin kendisinde değil, yerel bağımlılık kenarlarında yoğunlaşmıştı.
Bir sonraki build'iniz yarı fiyata iki kat hızlı olabilir
Ücretsiz başlayın. Ayrılmak da aynı tek satır ve o diff'i de yayımlıyoruz.
İlgili
Takım arkadaşlarınız ajan olduğunda CIYapay zeka kodlama ajanları insanlardan çok daha sık baskı yapıyor. Bu, boru hattı tasarımını ve maliyet kontrolünü nasıl değiştiriyor?Neden ayrılma talimatlarını yayınlıyoruz?Bu sitedeki her geçiş sayfası, bizden geri geçiş yapma farkını içerir. İşte gerekçe.Bir milyon CI işini yürütmeyi öğrendiklerimizKuyruk süresi, önbellek davranışı, doğru boyutlandırma ve yalnızca geniş ölçekte görünen hata modları.Kesintili testleri yeniden denemeyi bırakınOtomatik yeniden denemeler gerçek bir hatayı aralıklı bir hataya dönüştürür ve ekibinizi her başarısızlığa güvenmemeleri konusunda eğitir.