Integrációs eszközök
Áttekintés
A CI/CD rövidítés az alábbiakat takarja:
- CI: Continuous Integration: ez maga az eszköz, amely a folyamatos integrációt (tkp. az azonnali fordítást) teszi lehetővé.
- CD: Continuous Delivery: ez egy módszertan, melynek célja a minél gyorsabb ("folyamatos") szállítás.
Integrációs eszközök
Az integrációs eszközök (angolul: continuous integration) célja többrétű:
- Új verzió létrehozása ("szép magyar" kifejezéssel release-elés). Sokféle hibát okozhat az, ha valakinek a fejlesztői számítógépén készülnek a verziók; azt egy független szerveren érdemes végrehajtani. Egy integrációs eszköz erre tökéletes; valójában ez a legfontosabb feladata.
- Folyamatos ellenőrzés. Ha valaki egy új verziót tölt fel a közös kódbázisba, akkor az integrációs eszköz azonnal lefordítja. Ha hibát talál benne, akkor azonnal küld értesítést. Hibát akár egy elrontott egységteszt is okozhat, vagy egy olyan forrásfájl, melyet elfelejtett a fejlesztő feltölteni. De merészebbet is gondolhatunk: egyes integrációs eszközök esetén azt is be lehet állítani, hogy akkor is hibásként jelezze a fordítást, ha kódolási szabálysértés került bele, vagy mondjuk az egységtesztek nem fedik le kellő arányban a kódot.
- Verziózás. Egyes integrációs eszközös képesen automatikusan növelni a verziószámot, így biztos nem marad el.
- Ütemezett futtatás. Lehetnek olyan műveletek a forráskódon, melyet rendszeres időközönként, pl. naponta vagy hetente egyszer végre kell hajtani; általában erre is használhatjuk az integrációs eszközöket. Például egy nagyobb erőforrás igényű rendszerteszt végrehajtását érdemes éjszakára ütemezni, hogy ne zavarja a napi munkavégzést, és reggelre meg legyen az eredmény.
- Monitorozás. Az integrációs eszközök alapfeladata elsősorban nem a monitorozás, de alapvető monitorozási feladatok végrehajtására általában kiváló. Például a már említett automatikus figyelmeztető üzeneteket tekinthetjük egyfajta monitorozásnak, ill. általában egyszerűbb kimutatásokat is készít, pl. arról, hogy az elmúlt x fordításból mennyi volt sikeres.
Ez az oldal jól összefoglalja az integrációs eszközöket: https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software.
Jenkins
TODO
TeamCity
TODO
oldalváltozat: 0, utoljára szerkesztve: 20 May 2020 07:01