Lab 1 Report
Link: https://gitlab.stud.atlantis.ugent.be/nvexem/devops-project/-/jobs/249280
Report: -variables: ik heb lang gezocht naar de juiste "pre-defined environment variables". Het debuggen via bash commando heeft dit opgelost. -cache: heb gebruik gemaakt van environment variables voor deze naam -maven-build: niet veel speciaals tegengekomen. gekozen voor 30 dagen voor het bijhouden van de artifacts -maven-container-image-generation: heb het langste gezocht naar het juiste commando voor het aanmaken van een image. Na veel zoekwerk toch gevonden. -run-game: Met deze stage had ik veel moeite doordat ik niet goed doorhad waar de logic-service moest aangeduid worden. Bleek dat ik hetgeen de job eigenlijk moest doen niet goed doorhad. na veel opzoekwerk en herlezen toch gevonden.
Answers:
- ./mvnw wijst naar een wrapper script dat bij het project hoort. deze wrapper zal een compatibele versie van maven downloaden die enkel in de context van het huidige project zal gebruikt worden. Het voordeel hiervan is dat gemakkelijker is voor developers om samen te werken en zorgt dat je maven niet op je systeem moet installeren.
- Caches zijn gedeeld doorheen alle pipelines en jobs. Welke caches er gebruikt worden wordt gecontroleerd door een cache key. Artifacts daarentegen zijn op de gitlab server opgeslagen en zijn beschikbaar binnen een pipeline. Ze worden bijgehouden voor een instelbare hoeveelheid tijd en kunnen van de pipeline view worden gedownload.
- dependenies: deze worden door maven gedownload van remote repositories en moeten daardoor herhaaldelijk gedownload worden en dit vertraagd de pipeline. Keuze: Cache!
- build files: deze moeten available zijn bij opeenvolgende jobs zodat het project niet bij elke job opnieuw moet worden gebuild. Keuze: Artifacts!
- we gebruiken een 25-jre image voor de runtime container omdat onze applicatie al gecompiled is. Hierdoor zijn de productionimages zo klein mogelijk. Voor het bouwproces zelf gebruiken we een 25-jdk image omdat deze de nodige tools bevat om de code de compileren. Jdk voor beide zou de runtime container groter dan nodig maken en 25-jre voor beide zou ervoor zorgen dat de buildimage geen code kan compileren.