Lokal udvikling
Lokalt Udviklingsmiljø
Denne guide viser, hvordan man sætter et lokalt udviklingsmiljø op for GC2.
Til det bruger vi VS Code’s Dev Containers udvidelse. Det giver mulighed for at udvikle inde i containeren.
Krav
Windows
Docker Desktop 2.2+ - Download og installer [Docker Desktop](https://www.docker.com/products/docker-desktop/)
WSL2 backend - Installeres fra Windows Store. [Docker Desktop setup](https://docs.docker.com/desktop/windows/wsl/)
VS Code - Download og installer [VS Code](https://code.visualstudio.com/)
VS Code Extensions Dev Containers created by Microsoft
MacOS
Docker Desktop 2.0+
VS Code - Download og installer [VS Code](https://code.visualstudio.com/)
VS Code Extensions Dev Containers created by Microsoft
Linux
Docker CE/EE 18.06+ and Docker Compose 1.21+. (Ubuntu Snap package er ikke supportet)
VS Code - Download og installer [VS Code](https://code.visualstudio.com/)
VS Code Extensions Dev Containers created by Microsoft
Git
Sørg for at git er sat rigtigt op ift. origin og upstream.
Origin
git remote add origin [URL_OF_YOUR_FORK]
Eksempel: git remote add origin https://github.com/JohnDoe/geocloud2.git
Upstream
git remote add upstream [URL_OF_MAPCENTIA_PROJECT]
Eksempel: git remote add upstream https://github.com/mapcentia/geocloud2.git
Tjek at du har de rigtige url’er git remote -v
GC2 Image
Du starter med at lave et GC2 image. Det gør du ved at gå til mappen docker/development/Dockerfile.
I Dockerfilen tilføjer du dit github brugernavn, så koden der clones kommer fra din fork.
Det gøres i følgende step:
- RUN cd /var/www/ &&
git clone https://github.com/[ADD_GITHUB_USERNAME]/geocloud2.git –branch master
Hvis du lavet en remote branch til din feature/bug fix så fjern –tags og lav en chekout på den pågældende branch. Det gøres i følgende step:
- cd /var/www/geocloud2 &&
git fetch –tags &&git checkout tags/2022.11.0
Ændres til:
- cd /var/www/geocloud2 &&
git fetch &&git checkout docBugFix
Hvis du skal arbejde med en extension, så tilføj dit github brugernavn for den pågældende extension.
Derefter kører du scriptet buildGc2Image.sh dev
I docker-compose filen i samme mappe skal du være sikker, at tagget for det image du lige har bygget, er det samme som
det tag i service: gc2core. Ændres f.eks. til gc2core:dev
Start Dev Containers
Klik på filen devcontainer.json i mappen .devcontainer.
Tryg F1 og skriv devcontainer og vælg
Rebuild and reopen in container. Hvis devcontaineren har været bygget vælgesReopen in Container.
Når devcontaineren er bygget åbner VS Code et nyt vindue, hvor du ser koden inde i devcontaineren.
Start GC2 Vidi
I det VS Code vindue, der åbnede op åbner du en terminal og cd’er til development mappen cd docker/development.
Derefter skriver du docker-compose up for at starte GC2 Vidi.
Forbind Til gc2core Containeren
I nederste venstre hjørne klikker du på Dev Container: Docker in Docker og vælger Attach to container.
Derefter vælger du development_gc2core_1 containeren.
Et nyt VS Code vindue åbner op, og du er nu inde i gc2core containeren.
Er det første gang du åbner containeren vil der, til venstre, være en blå knap, hvor der står »Open Folder«.
Tryk på »Open Folder« knappen og vælg root mappen. Derefter skriver du:
cd ..
cd var/www/geocloud2
code . (for at åbne et nyt VS Code vindue)
I browseren går du til http://localhost:8080
Det ser ud til, at ændringer i koden gemmes i imaget, men hvis du vil være sikker på, ikke at miste din kode så sørg for at comitte og pushe, til din remote branch, ofte.