Hjem » Siste artikler » Slik setter du opp et robust lokalt utviklingsmiljø uten å miste oversikten

Slik setter du opp et robust lokalt utviklingsmiljø uten å miste oversikten

Hovedillustrasjon
Hovedillustrasjon. Foto: Artem Sapegin / Unsplash.

Et godt lokalt utviklingsmiljø sparer tid hver uke, men mange ender med en maskin full av tilfeldige versjoner av språk, rammeverk og verktøy. Når noe slutter å virke, kan feilsøkingen ta hele dagen.

Med et bevisst oppsett kan du få et miljø som er lett å forstå, lett å gjenskape og enkelt å rydde opp i. Her får du en konkret tilnærming du kan bruke på både nye og eksisterende maskiner.

Start med å rydde: mål, prosjekter og begrensninger

Før du installerer nye ting, lønner det seg å vite hva du faktisk trenger. Tenk gjennom hvilke typer prosjekter du skal jobbe med de neste månedene, ikke alle mulige ting du kunne ha lyst til å teste en gang.

Lag en kort liste: for eksempel «ett eller to webprosjekter med frontend og backend», «noe scripting» eller «mest bare frontend». Dette gir retning når du velger språkversjoner, databaser og verktøy.

Det er også lurt å tenke gjennom begrensninger: har du lite diskplass, svak maskin eller bedriftsregler for installasjon av programvare. Da kan du planlegge rundt disse i stedet for å oppdage dem halvveis.

Separer system, språk og prosjekter

En vanlig feilkilde er at alt havner direkte i operativsystemet: du installerer språk, databaser og verktøy globalt, og etter hvert er det umulig å vite hva som brukes av hva. En enkel tommelfingerregel er å skille i tre lag.

På systemnivå installerer du bare det som er generelt nyttig: pakkehåndterer, terminal, editor, nettlesere og lignende. Ting som flere prosjekter kan dele trygt, uten spesifikke versjonskrav.

På språknivå bruker du versjonshåndterere der det er mulig, for eksempel verktøy som gjør at ulike mapper kan ha ulike versjoner av samme språk. På prosjektnivå holder du avhengigheter inne i prosjektmappen, ikke globalt.

Gi hver teknologi sitt eget «hjørne»

Det er lettere å holde kontroll når du vet hvor ting lever. Tenk gjennom mappestruktur og installasjonsvaner, slik at nye verktøy alltid ender på omtrent samme sted i systemet.

Én enkel strategi er å ha en egen mappe for alt som handler om utvikling, for eksempel~/dev. Under denne kan du ha undermapper for prosjekter, skript, eksperimenter og dokumentasjon, i stedet for å blande alt i «Nedlastinger» og «Skrivebord».

For databaser kan det være nyttig å samle konfigurasjon og data i tydelige mapper. Selv om selve tjenesten installeres via operativsystemet, kan du legge konfigurasjonsfiler og eventuelle init-skript i en egen struktur under utviklingsmappen.

Bruk prosjektmapper som «sandkasser»

Hvert prosjekt bør ha sine egne avhengigheter og sin egen konfigurasjon, slik at det kan flyttes til en annen maskin uten at alt må settes opp på nytt manuelt. Samle alt prosjektspesifikt på ett sted.

Det betyr konkret at verktøy for bygging, testing og kjøring bør defineres i prosjektet. Unngå globale kommandoer som bare virker på din maskin, og lag heller skript som sjekkes inn i kildekoden.

Et nyttig mønster er en egen mappe for «operasjonelle» filer, for eksempelinfraellerops, med konfigurasjon, lokale oppstartsskript og eventuell dokumentasjon om hvordan du starter hele prosjektet lokalt.

Dokumenter miljøet fra dag én

Tematisk illustrasjon
Tematisk illustrasjon. Foto: César Gaviria / Pexels.

Lokalt oppsett blir ofte bare beskrevet i korte notater i hodet, helt til noen andre skal jobbe på samme prosjekt eller du selv bytter maskin. Da er det lett å angre på at du ikke skrev ned mer underveis.

En lavterskel løsning er en enkel tekstfil i prosjektroten, for eksempellocal-setup.md. Her kan du beskrive forutsetninger, hvordan du installerer avhengigheter og hvordan du starter systemet første gang.

Hold denne filen oppdatert når du gjør endringer i miljøet. Tenk at du skriver til «deg selv om seks måneder» som ikke husker hvorfor ting er satt opp som de er.

Automatiser det som gjentas ofte

Hver gang du gjør en serie med like kommandoer flere ganger i uka, er det et tegn på at du kan lage et lite skript. Det trenger ikke være avansert for å spare mye irritasjon over tid.

Vanlige kandidater for automatisering er: starte alle tjenestene for et prosjekt, initialisere testdata, rydde cache og genererte filer eller kjøre en fastsatt testpakke før du leverer kode videre.

Plasser slike skript sammen med prosjektet og gi dem navn som er selvforklarende, for eksempelstart-local.shellerreset-db.sh. Da er det enkelt for både deg og andre å se hva som finnes.

Gjør feilsøking enklere med bevisste vaner

Et robust miljø er ikke bare et spørsmål om riktige verktøy, men også om hvordan du bruker dem når noe går galt. Et par enkle vaner kan gjøre stor forskjell når ting plutselig slutter å virke en mandagsmorgen.

Bli kjent med loggene til de viktigste komponentene du bruker lokalt, for eksempel applikasjonsserver, database og eventuelle byggverktøy. Vit hvor loggene ligger og hvordan du filtrerer dem.

Når du feilsøker, prøv å endre én ting av gangen og noter kort hva du prøver. Enten i terminalhistorikk, i en liten tekstfil eller i prosjektets dokumentasjon. Da unngår du å gå i sirkler med de samme eksperimentene.

Lag en enkel sjekkliste ved maskinbytte

Før du bytter maskin eller reinstallere systemet, kan du lage en sjekkliste over komponentene i miljøet ditt. På den måten blir ikke overgangen en kamp mot glemte avhengigheter og halvferdige installeringsforsøk.

En slik liste kan inneholde: editor, terminal, pakkehåndterere, språkversjonshåndterere, databaser, nettleserutvidelser og eventuelle lisensierte verktøy. Noter også hvor konfigurasjonsfilene ligger, slik at du kan ta dem med.

Oppdater sjekklisten litt etter litt i stedet for å lage en perfekt oversikt på slutten. Da får du et levende dokument som speiler hvordan du faktisk jobber til daglig.

Bygg gradvis i stedet for alt på én gang

Det kan være fristende å lage det perfekte miljøet med alle moderne verktøy med en gang, men dette gir ofte mer kompleksitet enn gevinst. En mer bærekraftig strategi er å bygge opp miljøet i takt med behovene som oppstår.

Når du starter et nytt prosjekt, spør deg selv hva som er det minste du trenger for å komme i gang, og legg først til ekstra verktøy når du ser at de vil gjøre jobben merkbart enklere. På den måten holder du miljøet smidig og forståelig.

Hvis du merker at noe er blitt for komplisert, kan du bruke anledningen til å rydde: fjern gammel konfigurasjon, oppdater dokumentasjon og forenkle oppstartsskript. Små justeringer underveis gir et miljø som varer lenger uten å bli tungt å vedlikeholde.

0 kommentarer