Sage, Bedrock och Trellis

wpcli på alla webbhotell hos Oderland - We love WP

Förhoppningsvis har det inte undgått någon att vi fräschat upp vår hemsida lite även om det mesta ligger kvar där det var innan. De stora förändringarna har iställer skett i grunden, eller i det här fallet till och med i bergrunden. Vi har under lång tid använt oss av WordPress för den publika delen av hemsidan och under 2015 gick vi över till att använda oss av Roots utvecklingskit.

Sage, Bedrock och Trellis är utvecklade av Roots och är enligt oss det absolut största som hänt wordpress sedan… någonsin faktiskt. Som utvecklare får du möjlighet att på ett enkelt sätt versionshantera hela din installation och verktyg för att automatiskt skapa hela test- och driftsmiljöer med några enkla kommandon. Är du på något sätt involverad med wordpress på en teknisk nivå är det här något som du absolut bör kika på.

Sage – utgångspunkt för teman

SageVilken typ av tema du än ska bygga rekommenderar vi att du kikar på Sage. Enklast förklarat är det en utvecklingsmiljö för WordPress-teman, en samling verktyg och script för att på ett effektivt sätt inkludera externa resurser och förenkla arbetsflödet. Den baserar sig på populära verktyg som git, npm, bower, gulp, BrowserSync, wiredep och asset-builder. Det medföljande skelettet till tema är baserat på bootstrap men egentligen är det upp till var och en att välja sina egna tekniska lösningar.

Med bower är det enkelt att installera externa resurser som scriptbibliotek eller färdiga moduler för att lösa specifika problem. Wiredep och asset-builder infogar automatiskt javascript, css m.m. från dessa resurser i ditt tema utan att du manuellt behöver kopiera filer. Gulp används för att automatiskt bygga och slå ihop dina resurser och BrowserSync uppdaterar automatisk din webbläsare varje gång det sker en förändring i källkoden.

Vårt nya tema använder sig av Bootstrap så gott det går men med en hel del egna anpassningar och tillägg. Det är ett enkelt, beprövat kodbibliotek som är snabbarbetat och som framför allt också används i vår existerande kundavdelning.

Bedrock – tygla din Wordpress

BedrockBedrock används för att tygla hela WordPress-installationer. Framför allt så får du som utvecklare möjlighet att versionshantera både wordpress samt tillägg på ett enkelt sätt. Detta sker genom att både wordpress och tillägg kontrolleras via composer, ett väldigt populärt verktyg för att hantera externa resurser för PHP. I det här fallet använder sig composer av WordPress Packagist, en speciellt version av composers modulbibliotek som innehåller WordPress-tillägg.

En annan viktig modifikation är användningen av miljöfiler för konfiguration. Dessa filer existerar utanför versionskontrollen och underlättar för att köra samma kod i både utvecklings- test- och driftsmiljöer.

För dig som utvecklare innebär det att du inte längre behöver välja mellan att versionskontrollera samtliga filer i din wordpressinstallation eller enbart temat och hålla tummarna för att resten fungerar som det ska.

Trellis – testa och driftsätt

TrellisNär du nu effektivt kan versionshantera hela din WordPressinstallation är nästa naturliga steg att automatisera skapandet av test- och driftmiljöer. Trellis gör detta genom att ge dig en komplett ansible-baserad lösning för att skapa lokala utvecklingsmiljöer med vagrant samt installer externa test- och driftservrar. Miljöerna som skapas använder sig av Ubuntu, Nginx och MariaDB men med lite modifikationer får det att använda i andra miljöer också. På Oderland använder vi oss av CloudLinux och har därför gjort en hel del egna anpassningar.

Trellis skapar också miljöfiler för Bedrock utifrån om du bygger för utveckling, test eller drift och med detta så kan du på riktigt driftsätta en ny version av din sida med ett enkelt kommando.

Testa direkt!

Du som är kund hos oss kan faktiskt använda samtliga de här sakerna på både våra VPS’er och på våra webbhotellskonton. Vi är ett av fåtalet webbhotell där du kan installera moduler med NPM i delad miljö – allt du behöver göra är att logga in på cPanel och aktivera SSH-tillgång till ditt webbhotellskonto!

Brister – saker vi vill ha

Så vad saknas då? Som vanligt med WordPress är det ju problematiskt med att flytta innehåll mellan test- och driftsmiljöer. Det är svårt att hitta en balans mellan att göra dagligt innehållsarbete på den driftsatta wordpressinstallationen och att skapa större förändringar i en testmiljö och sedan föra över dessa till den skarpa versionen, speciellt om arbetet sker parallellt. Vi löser det genom att exportera specifika sidor från testmiljön med wp-cli och sedan importera dessa i den driftsatta WordPress-miljön.

Utöver detta har vi byggt egna tillägg för Trellis som klonar databaser och media från driftsmiljön till test- och utvecklingmiljöer varje gång vi skapar en ny instans.

Här kan du läsa mer om alla de möjligheter Oderland ger utvecklare!
Gillar du oss får du gärna visa det med en badge!