Automatizálás kiépítése

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

[szerkeszté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

[szerkesztés]

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

[szerkesztés]

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

[szerkeszté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

[szerkesztés]

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

[szerkesztés]

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

[szerkesztés]

Jegyzetek

[szerkesztés]