Annonse

Hvis du noen gang har jobbet med et nettutviklingsprosjekt, vet du at det kan være tøft å komme i gang. Selv om du er rettferdig lage en enkel WordPress-widget Hvordan lage dine egne grunnleggende Wordpress-widgeterMange bloggere vil søke etter den perfekte Wordpress-widgeten som vil gjøre akkurat det de vil, men med litt programmeringsopplevelse kan det hende at det er lettere å skrive den tilpassede widgeten. Denne uken ville jeg ... Les mer , trenger du en WordPress-forekomst å jobbe med. Det betyr ofte å jobbe på et sted i skyen, eller kanskje sette opp en lokal webserver Kjør en lokal PHP-webserver på Mac OS X med Zend ServerHosting av din egen PHP-server har to hovedfordeler. Først av alt kan du være vert for det lokalt, slik at du ikke trenger å bry deg med å overføre filene dine og bare trenger å oppdatere siden i ... Les mer . Og hvis du samarbeider med noen, må de også lage nøyaktig samme oppsett.

Det er irriterende, men det blir verre: Hvis du tilfeldigvis jobber med mer enn ett prosjekt samtidig, og begge prosjektene bruk litt forskjellige stabler (forskjellige webservere, versjoner av PHP, etc.) du kan finne deg selv med mye å holde oversikt av. Heldigvis er det en bedre måte: Møt

vagrant, en gratis og kraftfull måte å lage prosjektspesifikke virtuelle maskiner.

Sluttresultatet, eller: Why Bother?

datamaskin

Konseptet bak Vagrant høres litt vanskelig ut med det første. Du snurrer i utgangspunktet opp en VM som kjører webserveren din og eventuelle relaterte skript, men prosjektmappen er det utenfor VM. Så du kan bruke hva som helst tekstredigerer og nettleser du vanligvis jobber med, og slipper å stille opp med en treg VM GUI. VM gjør bare tunge løft: Den kjører en lokal webserver og serverer de filene du trenger.

Appellen er brukervennlig: Når du har konfigurert en Vagrant-boks for prosjektet ditt, når det er på tide å få koding, går du ganske enkelt til prosjektmappen og skriver vagrant opp. Dette starter opp VM, og av gårde. Når du er ferdig, kan du slå av VM med vagrant stopp og det er det - ingenting som forurenser harddisken og systemkonfigurasjonen, alt er selvstendig.

Det som er enda kulere er at du ikke trenger å forstå hvordan magien skjer: La oss si at du er en del av et tremannsutviklingsteam. Bare en fyr vet virkelig hvordan man konfigurerer miljøet (en vanlig situasjon). I det siste måtte han konfigurere hver maskin manuelt. Nå kan han bare gjøre det en gang, og alle andre kan skrive vagrant opp og få rullende - delingskode på GitHub (eller BitBucket, som Matthew anbefaler Elsker GitHub? 4 grunner til at du bør være vert for koden din på BitBucketDu må tenke på hvor du har tenkt å lagre koden. Det er sannsynlig at du har hørt om GitHub. Det er ikke overraskende. GitHub brukes av enkeltpersoner og bedrifter til å være vert for kode, samarbeide om dokumentasjon ... Les mer ) og koding på samme oppsett.

Legg merke til at Vagrant er ment å fungere sammen med et kildekontrollsystem: Du konfigurerer runtime-miljøet ditt i Vagrant, og du bruker Git for koden. Så hvis noen bare har din Vagrant-boks, vil de ikke kunne gjøre mye med den, fordi alle nettstedets filer mangler: Disse finnes i en mappe utenfor den virtuelle maskinen.

Installere Vagrant og initialisere en boks

Selve Vagrant kan enkelt installeres på Windows, OS X og Linux. Gå til offisiell nedlastingsside og ta et installasjonsprogram for det valgte operativsystemet ditt. Det kan hende du må installere VirtualBox og Ruby hver for seg, men det avhenger av ditt tilfelle.

Når du har installert Vagrant, er det på tide å sparke dekkene med standardboksen. Skriv inn følgende inkantasjon:

vagrant box legge til base http://files.vagrantup.com/precise32.box. vagrant init. vagrant opp. 

Den første linjen legger til en "base box" til systemet ditt, og kommer til å ta en stund da den faktisk laster ned ruten fra Vagrant's servere. Du får 32-bits versjonen av Ubuntu 12.04, Precise Pangolin. Den andre linjen initialiserer boksen, og den tredje linjen starter den opp.

Forutsatt at alt går bra, bør konsollen din se slik ut:

vagrant

Du kan nå skrive vagrant ssh å ssh inn i den nye boksen, bare for å se at den fungerer.

Disse kommandoene vil fungere fra mappen som inneholder Vagrant-boksen (uansett hvilken mappe du kjørte vagrant init i). Dette betyr at du kan ha flere Vagrant VM-er konfigurert (og kanskje til og med kjøre) ved siden av hverandre - for eksempel en VM per prosjekt.

I seg selv er ikke dette det mest spennende resultatet i verden. Jeg mener det er rart at du nå har en Ubuntu VM som kjører, men du kan egentlig ikke gjøre mye med det ut av boksen.

For å gjøre ting mer nyttig, må du enten sette opp miljøet i denne boksen (installere nettet server og utviklingsstabel du trenger), eller du må finne en eksisterende boks som allerede har mye av det du har trenge. Siden det å sette opp et utviklingsmiljø er utenfor omfanget av denne artikkelen (og endringer fra prosjekt til prosjekt), la oss nå se på det store utvalget av eksisterende bokser du kan få.

Få andre bokser

Selv om du vet hvordan du setter opp utviklingsmiljøet du trenger, er hele poenget med Vagrant at det sparer duplisering av innsatsen. For eksempel, hvis du er en WordPress-utvikler, trenger du Apache, PHP, MySQL, PhpMyAdmin og WordPress - og du er ikke den eneste. I dette spesielle tilfellet kan du gå til et nettsted som heter Vagrantpress [No Longer Available], og med noen kjappe koder med kode, kan du sette opp alt du trenger:

wget -O vagrantpress-master.zip https://github.com/chad-thompson/vagrantpress/archive/master.zip unzip vagrantpress-master.zip cd vagrantpress-master vagrant up. 

Og det er det - du vil nå kunne gå http://localhost: 8080 og se WordPress kjører. Denne biten av magi (å kunne gå til din lokale verts port 8080) foregår med tillatelse fra VirtualBoxs brokoblede Ethernet-adaptere.

Dette er bare en premade Vagrant-boks av hundrevis av forskjellige bokser som flyter på nettet. For en stor samling, kan du besøke Vagrantbox.es, som i utgangspunktet er et stort bord som viser de mange boksene. Merk at Vagrantbox.es faktisk ikke er vertskap for boksene - i stedet blir boksefilene spredt over alt, store i Sourceforge-, Dropbox- eller Google Drive-mapper. Dette betyr også at de kan gå ned når som helst, så når du har funnet en boks som fungerer for prosjektet ditt, bør du lage en lokal kopi av det - eller enda bedre, eksporter boksen du ender opp med å jobbe med (da du uten tvil vil lage noen finjusteringer og tilpasninger).

Ikke en slutt, men en begynnelse

Dette innlegget var ikke ment som en generell guide for Vagrant - det er hva Vagrant dokumenter er der for. I stedet håper jeg at du nå har en følelse av hva et kult verktøy Vagrant er, og hvor nyttig og tilnærmelig det kan være. Nå går en boks!