Mindezekre remek megoldás, ha a lokális környezeted konfigurációját is kódban tárolod.
Fejlessz Linuxon, Windows-on, vagy Mac-en, a virtualizációt megoldhatod az ingyenesen elérhető VirtualBox segítségével. Ez azonban még nem elég. Használj Vagrant-ot!
OK, de mi az a Vagrant?
A Vagrant egy a VirtualBox-ra épülő megoldás, ahol egy egyszerűen szerkeszthető konfigurációs fájlban leírhatod, hogy milyen operációs rendszert szeretnél virtuálisan feltelepíteni, kiválasztod hozzá a beállításokat és az extra csomagokat. Eztuán bármennyi példányt indíthatsz a leírt konfiguráció alapján, és azok 100%-ban megegyezőek lesznek.
De ne szaladjunk ennyire előre, nézzük a hozzávalókat!
- Töltsd le és telepítsd – ha még nincs fent – a VirtualBox legújabb verzióját. Itt találod: http://www.virtualbox.org
Ezzel már létre tudsz hozni virtuális gépeket, környezeteket, amelyek kezdetben ugyanolyanok, mint a teszt- és az éles környezetben. Hurrá!
De ez még csak az első lépés. Biztosítanod kell azt is, hogy az éles környezet összes függőségét pontosan ugyanúgy lokálisan is feltelepítsed. Erre megoldás lehet, ha valamilyen központi konfiguráció-menedzsment szoftvert használsz (pl. Puppet, Chef).
Lokálisan erre jó a Vagrant.
- Telepítsd ezt is: http://www.vagrantup.com
Ezután elkezdheted a konfigurálást.
Először is, szükséged lesz van egy “Vagrantfile” nevű konfigurációs file-ra. Ez egy Ruby szintaxist követő file, kiterjesztés nélkül, a tartalma pedig így néz ki:
Az alap operációs rendszer (“base box”) egy már korábban elkészített Ubuntu 14.10 “image”. Ehhez hasonló alap image-eket letölthetünk a felhőből is, például innen:
- http://atlas.hashicorp.com/boxes/search?utm_source=vagrantcloud.com&vagrantcloud=1
- http://www.vagrantbox.es
A Vagrant file-ban megadod, hogy mi legyen a lokális virtuális gép domain neve, IP címe, mekkora memóriát használjon.
Ezután már csak 4 parancsra kell emlékezni:
- vagrant up
Ezzel el is indul a virtuális gép, ami az első alkalommal néhány percig is eltarthat, viszont később csak néhány másoderc lesz.
…készülőben a lokális gép…
…mindeközben a VirtualBox felületén már fel is tűnik az új “box”:
A megosztott mappákhoz szükséges Guest Additions “magától” feltelepül. Yeah!
A korábban megadott hoszt név is bekerül a megfelelő file-okba…
Végül lefut egy shell script – ami a frissen feltelepített Linux-ra még feltelepíti azokat az alapcsomagokat, amikre mindenképpen szükségünk van. Eztuán lefut egy csomag-frissítés (apt-get update), biztos, ami biztos.
Készen is vagyunk. SSH-zunk is be rögtön.
A második Vagrant parancs tehát
- vagrant ssh
Itt szerencsére nem kell emlékezned a usernevedre, IP címre és portra. Ha a megfelelő könyvtárban állsz, mindezt a Vagrant elintézi helyetted. Tehát egyszerűen csak vagrant ssh…
A Vagrant a megosztott mappákról is gondoskodik, tehát a hoszt operációs rendszeren dolgozhatsz a kedvenc editoroddal, Git-tel, a virtuális gépen mindent megtalálsz a “shared” mappában.
A VirtualBox felületén a futó virtuális gépet látod, minden rendben.
Végül, ha befejezted a munkát “exit”-tel elhagyhatod a virtuális gépet és a következő paranccsal ki is kapcsolhatod a gépet:
- vagrant halt
Visszatérhetsz a hoszt gépre.
A másnap a szokásos rutinnal indulhat, de ezúttal már sokkal gyorsabban érsz el az SSH szakaszba:
- vagrant up
- vagrant ssh
- exit
- vagrant halt
A dolog szépsége, hogy a base image és a Vagrantfile könnyen megosztható másokkal, és VirtualBox alatt a kolléga gépén is villámgyorsan azonos környezet alakítható ki.
A base box file egy belső file-szerverre kerülhet, a Vagrantfile pedig egyenesen mehet a Git-be.