CI/CD, avagy hogyan tudunk napi 10+ alkalommal új verziót kitelepíteni

Címkék

Az elmúlt 10 évben az alkalmazások új verziójának automatikus telepítése egy nagyon nagy fejlődésen ment keresztül.

A fent említett jelenségre szokás CI/CD-ként hivatkozni, ami egy kicsit félrevezető elnevezés, mert már rögtön három folyamatot foglal magába: Continuous Integration (CI), Continuous Delivery (CD) és Continuous Deployment (szintén CD). Megyesi Péter (LeanNet) a HWSW free! meetup-sorozat novemberi CI/CD tematikájú állomásán elhangzott és alább megtekinthető előadásában bemutatta, honnan eredetek ezek a rendszerek, hogyan szokás őket használni, és mit tekintünk manapság state-of-the-art-nak.

Érdekel a téma? Gyere el a HWSW következő ingyenes CI/CD meetupjára vagy a modern CI/CD alapjait bemutató online képzésére, ahol Péter vezetésével tanulhatsz.

Hozzászólások

Ez a csodálatos "kitelepítés" honnan ered? A telepítés miért nem felel meg?

Ok, köszi. Eddig sosem találkoztam ilyen értelemben vele. Nekem ez a folyamat továbbra is deploy marad függetlenül attól, hogy honnan hová történik. Sok vita volt arról régen még a Linuxvilág idejében, hogy kell-e magyarítani a szakkifejezéseket. Nekem akkor is az volt a véleményem ami most is: egy szakember ismerje az angol kifejezéseket, tehát feleslegesek ezek a magyar "fordítások", ferdítések néha. Erről a kitelepítésről az ugrott be, na ezt tuti valami marketinges, nem szakember találta ki. 

hogyan tudunk napi 10+ alkalommal új verziót kitelepíteni

Még ennél is fontosabb kérdés, hogy akarunk-e. :)

Ez okés is, csak az, amire válaszoltam, azt feltételezi, hogy telepítés csak hibajavításkor történik.
Amúgy a CI/CD nem feltétlenül a nagyvilágnak szól, telepíteni mi is automatikusan csak dev/teszt/integration környezetbe csinálunk, prodba csak kézzel. Az meg, hogy naponta 5x megy deployment a tesztre, az tök alap.

A kézzel alatt persze azt kell érteni, hogy a CI/CD-ben vannak olyan taszkok, amelyekre explicit rá kell nyomni (mert megelőzi bürokrácia stb.), de amúgy ott is gép végzi a telepítést (nem fogok kézzel konténert indítani). Én staged deploymentnek hívom ezt, lehet nem jó kifejezés.