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:

Fordításautomatizálási segédprogramok Ez magában foglalja a közművek, mint a Make, Rake, Cake, MSBuild, Ant, Maven vagy Gradle 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. Fordításautomatizálási kiszolgálók Ezek olyan általános webalapú eszközök, amelyek ütemezett vagy aktivált alapon hajtják végre a fordításautomatizálási segédprogramokat; a folyamatos integrációs kiszolgáló egyfajta fordításautomatizá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 fordításautomatizációs szoftver listájában.

Fordításautomatizálási segédprogramok A fordításautomatizá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.

Fordításautomatizá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ó fordítás, amit egy folyamatos integrációs (CI) 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 fordításautomatizá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 fordító folyamatnak gépi intelligenciával kell rendelkeznie az elosztott fordítás 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) és a folyamatos integráció (CI) kapcsolata A fordításautomatizá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áskiadá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 fordításának 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

Alkalmazáskiadás automatizálása (ARA) Alkalmazás életciklus menedzselés (ALM) Folyamatos konfigurációs automatizálás (CCA) Folyamatos integráció (CI) Folyamatos szállítás (CD) Folyamatos tesztelés Fejlesztői ops Fordításautomatizálási szoftverek listája Termékcsalád-tervezés Kiadás tervezés (RE) Szoftverkonfiguráció kezelése (SCM) Egység vizsgálata

Jegyzetek

Kategória:Szoftverfejlesztés