Local utvecklingsmiljö med Vagrant

I och med att jag skaffat ny dator tänkte försöka hålla den lite “renare” och ha bättre koll på vad som installeras genom att isolera utvecklingsmiljöerna. Det bästa är att jag kan få den lokala miljön så lik live miljön som möjligt och det går snabbt att återskapa överallt. Min första tanke var att använda docker.io men efter att hållit på ett tag så kändes det som mina server & linux kunskaper inte räcker till just nu då jag behövde få upp miljön snabbt och börja jobba. Jag har lekt lite med docker tidigare men mycket har ändrats sedan dess för mac men jag ser fram emot att lära mig i framtiden.

Vagrant

Då jag precis varit med och satt upp  Vagrant åt en kund så föll jag tillbaka till Vagrant istället för docker. Vagrant startar upp ett VM där allt installeras och körs i isolation från övriga systemet. Nackdelen med Vagrant jämfört med Docker är att varje VM tar ganska stor plats då det är ett helt system medan Docker utnyttjar det underliggande systemet och “lägger på det som saknas”.

Jag använder mig av en Vagrantfile som sätter upp hela servern när man kör komandot

 vagrant up 

sedan delar VM:et en mapp med systemet där hela web projektet ligger så jag kan jobba med det som vanligt lokalt. Jag har sedan tilldelat ett IP-nummer till Vagrant boxen som jag i hosts-filen har pekat “projekt-x.dev” till. Tack vare Vagrantfile och Chef-solo så kan jag bara installera Vagrant och köra “vagrant up” så har jag en fungerande dev miljö.

Tack vare vagrant har jag nu olika versioner av PHP och och olika databaser för de olika projekten.

Leave a Reply

Your email address will not be published. Required fields are marked *