Fejlesztéshez vagy egy-egy új rendszer összeállításához gyakran van szükség teszt környezetekre. Ezeket virtuális gépben szoktuk létrehozni. Feltepeítünk egy Linuxot, feltesszük bele a szoftvereket és elvégezzük a beállításokat. És amikor új kell, vagy épp újra kell kezdeni, akkor kezdjük előről az egészet. Jobb esetben volt pillanatkép és oda visszalépve vagy azt klónozva dolgozunk. De ez macerás és nem kevés hibalehetőséget rejt magában (pl. az a snapshot mégsem a megfelelő pillanatban készült). A végén pedig jön a pofáraesés, hogy ami ment a teszt környezetben nem működik az élesben. Lehet keresni mi a különbség.
Ezt a problémát úgy tudod elkerülni, ha van egy reprodukálható és legfőképpen automatizált módszered a környezet kialakítására. Ami minden esetben teljesen nulláról kezdi és elvégzi az előre beprogramozott lépéseket. Erre a feladatra az egyik legjobb és az én személyes kedvencem a Vagrant. A Hashicorp egyéb termékei (Packer, Terraform, sb.) mellett pont az ilyen esetekre van kitalálva (és persze éles virtuális-környezeteket is fel tud húzni). Nem kell hozzá más, mint a jól megszokott desktop virtualizációd (VirtualBox, VMWare, KVM, stb.) és egy leíró-fájl, amiben megadod, melyik Linux image-ből induljon és mit csináljon, hogy a kívánt eredményre juss.
Mielőtt a Vagrantot megismertem nekem is megvolt erre a bevált rutinom, amit akár a képzések készítésénél, akár ügyfélnek készülő új rendszerek kialakításánál alkalmaztam. De pont a fent leírt problémákkal küzdöttem én is. Ha elfelejtettem időben pillanatképet csinálni és valami nem sikerült lehetett mindent kezdeni előről. Az “alap” image-ek frissen tartásával járó küzdelemről nem is beszélve. Mióta használom a Vagrantot, ez a múlté. Elkészítek egy Vagrantfile-t és az egészen biztosan ugyan azt a (teljesen friss) környezetet fogja felhúzni minden esetben anélkül, hogy azzal nekem különösebb dolgom lenne.
Ebből a képzésből megtanulod te is könnyebben és hatékonyabban csinálni ezt. Kezdve a Vagrant három soros alap beállításával egészen egy bonyolult, változókkal és ciklusokkal összerakott változatig, ami már komplex, sokgépes környezetet is fel tud húzni egyetlen parancs kiadásával. Megismered a főbb beállításokat, parancssori opciókat, az egyedi hálózat- és diszk hozzáadás, a mappa megosztás és a frissen indult gépben a szükséges beállítások automatikus elvégzésének felprogramozását.