Derleme otomasyonu - Build automation
Yazılım geliştirme |
---|
Yapı otomasyonu bir oluşturulmasını otomatik işlemidir yazılım kurmak : ve ilgili işlemler de dahil derleme bilgisayar kaynak kodu içine ikili kod , ambalaj ikili kod ve çalışan otomatik testleri .
Genel Bakış
Tarihsel olarak, derleme otomasyonu makefiles aracılığıyla gerçekleştiriliyordu . Bugün, iki genel araç kategorisi vardır:
- Derleme otomasyonu yardımcı programı
- Bu, Make , Rake , CMake , MSBuild , Ant , Maven veya Gradle (Java) gibi yardımcı programları içerir . Bunların birincil amacı, kaynak kodunu derlemek ve bağlamak gibi etkinlikler yoluyla yapı yapıları oluşturmaktır .
- Yapı otomasyonu sunucuları
- Bunlar, zamanlanmış veya tetiklenmiş olarak derleme otomasyonu yardımcı programlarını yürüten genel web tabanlı araçlardır; Bir sürekli entegrasyon sunucusu birikmesi otomasyon sunucusunun türüdür.
Otomasyon düzeyine bağlı olarak aşağıdaki sınıflandırma mümkündür:
- Makefile - düzey
- Yapmaya dayalı araçlar
- Marka tabanlı olmayan araçlar
- Komut dosyası (veya Makefile) oluşturma araçları oluşturun
- Sürekli entegrasyon araçları
- Yapılandırma yönetimi araçları
- Meta oluşturma araçları veya paket yöneticileri
- Diğer
Her biri için bir yazılım listesi , yapı otomasyon yazılımı listesinde bulunabilir .
Derleme otomasyon araçları
Yapı otomasyonu araçları, basit, tekrarlanabilir görevlerin otomasyonuna izin verir. Aracı kullanırken, görevleri doğru, belirli bir sırayla ve her bir görevi çalıştırarak hedefe nasıl ulaşılacağını hesaplayacaktır. Araç oluşturmanın iki yolu, görev odaklı ve ürün odaklıdır. Görev odaklı araçlar, ağların bağımlılığını belirli bir görev seti açısından tanımlar ve ürün odaklı araçlar, ürettikleri ürünler açısından şeyleri tanımlar.
Yapı otomasyonu sunucuları
Derleme sunucuları sürekli bütünleştirme sunucularından çok önce var olsalar da, genellikle sürekli bütünleştirme sunucuları ile eşanlamlıdır, ancak bir yapı sunucusu da bir ARA aracına veya ALM aracına dahil edilebilir.
Sunucu türleri
- İsteğe otomasyon böyle bir çalıştıran bir kullanıcı olarak komut de komut satırından
- Gecelik bir derleme çalıştıran sürekli tümleştirme sunucusu gibi zamanlanmış otomasyon
- Bir sürüm kontrol sistemine yapılan her işlemde bir derleme çalıştıran sürekli entegrasyon sunucusu gibi tetiklenen otomasyon .
Dağıtılmış derleme otomasyonu
Otomasyon, dağıtılmış derleme veya yardımcı program adımının yürütülmesi için bir derleme grubu kullanılarak elde edilir. Dağıtılmış derleme işlemi, dağıtılmış derlemeyi yürütmek için kaynak kodu bağımlılıklarını anlamak için makine zekasına sahip olmalıdır.
Sürekli teslimat ve sürekli entegrasyonla ilişki
Derleme otomasyonu, sürekli teslimat ve DevOps kültürünü uygulamaya doğru ilerlemenin ilk adımı olarak kabul edilir . Sürekli entegrasyon , dağıtım , uygulama yayınlama otomasyonu ve diğer birçok süreçle birleştirilmiş derleme otomasyonu , bir kuruluşun en iyi yazılım teslimi uygulamalarını oluşturmada ilerlemesine yardımcı olur.
Avantajlar
Yazılım geliştirme projelerine göre derleme otomasyonunun avantajları şunlardır:
- Sürekli entegrasyon ve sürekli test için gerekli bir ön koşul
- Ürün kalitesini iyileştirin
- Derleme ve bağlantı işlemeyi hızlandırın
- Gereksiz görevleri ortadan kaldırın
- "Kötü derlemeleri" en aza indirin
- Kilit personele bağımlılıkları ortadan kaldırın
- Sorunları araştırmak için yapıların ve sürümlerin geçmişine sahip olun
- Yukarıda listelenen nedenlerden dolayı zamandan ve paradan tasarruf edin.