Laravel Herd som erstatning for Docker Compose
Laravel Herd, som er et lokalt PHP udviklingsmiljø, udkom for nylig til både Mac og Windows og i den forbindelse har vi testet det af for at se, om det er en reel erstatning til Docker Compose.
Af Kristian Just Iversen
Laravel Herd som erstatning for Docker Compose
Laravel Herd, som er et lokalt PHP udviklingsmiljø, udkom for nylig til både Mac og Windows og i den forbindelse har vi testet det af for at se, om det er en reel erstatning til Docker Compose. Docker Compose er nemlig også et lokalt udviklingsmiljø - og her er en stor fordel især, at det er muligt at kopiere udviklingsmiljøet og derved dele det med andre, sådan at flere udviklere kan arbejde på samme projekt med præcis samme opsætning. Som udviklingsbureau tester vi altid de nyeste teknologier og udviklingsmiljøer, så vi hele tiden sørger for at være up to date - og ikke ender med at sidde i systemer, der pludselig er gået af mode.
Efter en lovende pitch til Laracon EU af grundlæggeren af Laravel, Taylor Otwell var forventningerne store.
Først skal man lige komme sig over det semi-sarkastiske navn: Laravel Herd, som muligvis er en embracement fra Laravel over de skeptikere, der har kaldt Laravel fans for “herd”, men når det er lagt til side, var det med at komme i gang.
Installationsproces, “one-click” og docs
Hele applikationen samt installationsprocessen går ud fra one-click mantraet, og det eneste der egentlig er gjort plads til er, at vi som brugere skal tage stilling til et par mersalgs spørgsmål. Jeg startede med Laravel Herd Standard, og derfor blev jeg et par gange i processen foreslået at opgradere til Laravel Herd Pro. Den største forskel mellem Standard versionen og Pro versionen er, at der i Pro er indbygget et Debugging værktøj, som gør det nemmere at undersøge fejl i koden. Det kommer jeg ind på længere nede i artiklen.
Udover mersalgs spørgsmålene kørte installationen af sig selv med et par prompts både ved installation af Visual C++ Redistributable pakken og en PowerShell, der blev triggered, da PHP skulle installeres. Det føltes lidt hackiss, og jeg havde foretrukket, at PowerShell-handlingen kørte i baggrunden.
Visuals (loader, baggrund osv.) havde et normalt højt niveau.
Hvis du tager en tur forbi dokumentationen fra Laravel vil du også nikke anerkendende til, hvor fyldestgørende den er - en ting, mange softwareleverandører glemmer vigtigheden af.
Kør et site
Jeg er daglig WSL2 bruger, og derfor ledte jeg lidt efter en mulighed for at tilføje et site fra denne lokation. Det var ikke oplagt, så jeg oprettede i stedet et nyt site.
Det nye site skulle have et navn, herefter knurrede composer install lidt, og til sidst kunne man trykke "Open webbrowser". Sitet havde fået sin egen URL, og det hele virkede med det samme.
Det gik over forventning, og man slap for et par manuelle ændringer til hosts-filen samt tilpasning af .env.
Den største win
Xdebug! Det har længe været en besværlighed at få til at fungere korrekt specielt i kombinationen af Docker og WSL2, da Linux ikke er førstehånds understøttet af Xdebug.
Laravel Herd Pro har løst det, og bruger man PHPStorm, fungerer det derfor out-of-the-box.
Dette er main selling point overfor vores team, som ikke alle er på Xdebug grundet de tidligere nævnte besværligheder (som gentages hver gang, man opsætter en ny PC, editor osv.).
One man tool
Hos Ephort bruger vi i dag Docker Compose (nogle gange en tilpasset docker-compose.yml fil, andre gange er det Laravel Sail). Det har gjort det effektivt at onboarde nye udviklere på et projekt og holde alle på teamet på samme produktions lignende setup. Det sikrer nemlig, at vi undgår fejl, når vi er flere der skal arbejde på det samme projekt.
Herd er nemt at sætte op, men det mangler muligheden for at dele konfigurationer med resten af dit team. Herd er derfor rigtig godt til en freelancer, der ikke skal arbejde sammen med andre - men knap så godt for os, der gerne vil have muligheden for at have flere ind over det samme projekt.
I større projekter er dette en vigtig faktor.
Dommen
Herd bliver for mig i første omgang et værktøj, som jeg kan bruge til mindre projekter, hvor der ikke forventes mandskabs udvidelse eller udskiftning.
Docker Compose er for mange et svært redskab at blive sat ind i, og da jeg allerede har erfaringen med det, er barrieren for mig brudt.
Herd har derimod givet mig fornyet mod på at finde en nemmere måde at opsætte Xdebug på Docker Compose og WSL2, da jeg blev mindet om, hvor godt et værktøj det er i Herd. Den største forskel mellem Docker Compose Herd er helt klart debuggingdelen. Og så er Herd utrolig nemt at få op at køre lokalt - alle kan installere Herd og være i gang på 5 minutter.
16. APR 2024