Az automatizálás kiépítése a szoftverkészítés és a hozzá kapcsolódó folyamatok automatizálásának folyamata, ideértve a számítógépes forráskód bináris kódba történő összeállítását, a bináris kód csomagolását és az automatikus tesztek futtatását.
Áttekintés
A történelem során az építkezés automatizálása makefilek segítségével valósult meg. Ma az eszközöknek két általános kategóriája van:
- Build-automatizálási segédprogram
- Ez magában foglalja a közművek, mint a Make,Rake, Cake, MSBuild, Ant, Maven vagy Gradle (Java) stb. Elsődleges céljuk, hogy build összetevőket hozzanak létre olyan tevékenységeken keresztül, mint a forráskód összeállítása és összekapcsolása.
- Build-automatizálási kiszolgálók
- Ezek olyan általános webalapú eszközök, amelyek ütemezett vagy aktivált alapon hajtják végre a build-automatizálási segédprogramokat; a folyamatos integrációs kiszolgáló egyfajta build-automatizálási kiszolgáló.
Az automatizálás szintjétől függően a következő besorolás lehetséges:
- Makefile - szint
- Make-alapú eszközök
- Nem Make alapú eszközök
- Build szkript (vagy Makefile) generációs eszközök
- Folyamatos integrációs eszközök
- Konfigurációkezelő eszközök
- Meta-build eszközök vagy csomagkezelők
- Egyéb
Az egyes szoftverek listája megtalálható a build automatizációs szoftver listájában.
Build-automation segédprogramok
A build automatizálási segédprogramok egyszerű, megismételhető feladatok automatizálását teszik lehetővé. Az eszköz használatakor kiszámítja, hogyan érheti el a célt a feladatok megfelelő, meghatározott sorrendben történő végrehajtásával és az egyes feladatok futtatásával. Az eszközök eltérő két módja a feladatorientált és a termékorientált. A feladatorientált eszközök a hálózatoknak egy adott meghatározott feladatban való függőségét írják le, a termékorientált eszközök pedig az általuk előállított termékeket.
Build-automatizálási kiszolgálók
Bár a build szerverek már jóval a folyamatos integrációs kiszolgálók előtt léteztek, általában a folyamatos integrációs kiszolgálók szinonimái, azonban a build szerver is eggyé válhat egy Application-Release Automation (ARA) eszközben, vagy Application Lifecycle Management (ALM) eszközben.
Szerver típusok
- Igény szerinti automatizálás, mint ahogy egy felhasználó futtat egy parancsfájlt a parancssorban.
- Ütemterv szerinti automatizálás, úgy mint, egy éjszaka alatt lefutó build, amit egy folyamatos integrációs (CI)[1] szerveren futtatunk.
- Esemény aktivált automatizálás, úgy mint egy folyamatos integrációs szerveren lefutó build, ami minden commit után egy verzió-ellenőrző rendszeren keresztül fut le.
Elosztott build-automatizálás
Az automatizálás a fordító farmolásával érhető el az elosztott összeállításhoz vagy a közüzemi lépés végrehajtásához. Az elosztott buildelő folyamatnak gépi intelligenciával kell rendelkeznie az elosztott build végrehajtásához szükséges forráskód-függőségek megértéséhez.
A folyamatos kézbesítés (CD)[2] és a folyamatos integráció (CI) kapcsolata
A build automatizálás az első lépés a folyamatos kézbesítés és a DevOps kultúrájának megvalósítása felé. Az automatizálás tanúsítása folyamatos integrációval, telepítéssel, alkalmazás-kiadás automatizálással és sok más folyamattal segíti a szervezet előre mozdítását a szoftverkézbesítésre vonatkozó bevált gyakorlatok létrehozásában.
Előnyök
A szoftverfejlesztési projektek build automatizálásának előnyei:
- A folyamatos integrációnak és a folyamatos tesztelésnek szükséges előfeltétele.
- A termék minőségének javítása.
- Felgyorsítja a fordítót és a kapcsolt feldolgozást.
- A felesleges feladatokat kiküszöböli.
- A legalacsonyabbra csökkenti a "rossz build-ek" számát.
- A kulcsfontosságú személyzettől való függőség megszüntetése.
- A buildek története, és a sorrendbeli kiadások gyorsítják a probléma elhárítást.
- Takarítson meg időt és pénzt, a fent felsorolt okok miatt.
Lásd még
Jegyzetek