Automatizálás kiépítése
| Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
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 | forrásszöveg szerkesztése]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
[szerkesztés | forrásszöveg szerkesztése]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
[szerkesztés | forrásszöveg szerkesztése]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)[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 fordításautomatizálás
[szerkesztés | forrásszöveg szerkesztése]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)[2] és a folyamatos integráció (CI) kapcsolata
[szerkesztés | forrásszöveg szerkesztése]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
[szerkesztés | forrásszöveg szerkesztése]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
[szerkesztés | forrásszöveg szerkesztése]- 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
[szerkesztés | forrásszöveg szerkesztése]- ↑ "In software engineering, continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day". Hozzáférés: 2005. április 21.
- ↑ "Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually". Hozzáférés: 2011. december 4.