diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eaa47249ef6fd1b28b3923bbb6d21e23cff87e9f..a101e42ee0a22c65790573c1f519a1dfcf127f08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,50 +1,50 @@ -image: maven:eclipse-temurin - -build: - stage: build - script: - - mvn compile - -test: - stage: test - script: - - mvn clean test - -generatepdf: - image: ubuntu:20.04 # vi kjører dette i en docker container, som kjører Ubuntu Linux - stage: deploy # vi kjører den parallelt med å publisere javadoc til Pages - script: - - apt-get update # apt-get er en pakkehåndterer som kan laste ned og installere pakker på linux-system - - apt-get install -y wget # installerer et tool som heter "wget", som kan fyre av HTML-requester på kommandolinja - - apt-get install -y fontconfig libfreetype6 libjpeg-turbo8 libpng16-16 libx11-6 libxcb1 libxext6 libxrender1 xfonts-75dpi xfonts-base # installerer en bunsj med libs vi trenger for konverteringen til PDF - - wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb # Henter HTML-til-PDF-konverterer fra git. Vi bruker denne spesifikke pakken fordi vi vet at den fungerer i miljøet vi kjører i - - dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb # Installerer pakken vi lastet ned i forrige steg - - apt-get -y install nodejs # installerer nodejs - - apt-get -y install npm # installerer npm, som er en pakkehåndterer (litt likt apt-get) for (hovedsaklig) javascript-biblioteker - - npm install -g github-wikito-converter # installerer wiki-til-html-konverterer via npm - - apt-get -y install git # installerer git - - export my_url="${https://gitlab.stud.idi.ntnu.no/carljgu/tournament-service:8}" # Fjerner https:// fra URLen - - export final_url="https://gitlab-ci-token:$CI_JOB_TOKEN@$my_url" # Bruker CI-token for å omgå krav til brukernavn/passord - - git clone "$final_url.wiki.git" # hver eneste gitlab-wiki ligger i et eget repo, og kan klones med git som man kloner andre prosjekter - - gwtc $idatt1002_2022_K1-G4.wiki # NB! DERSOM DENNE FEILER, ERSTATT MED NAVNET PÅ REPOET (enkelte gitlab-instanser ser ut til å gi denne feil verdi for gruppeprosjekter) - - wkhtmltopdf documentation.html wiki.pdf # Dette konverterer fra HTML til PDF - artifacts: - paths: - - wiki.pdf # Vi gjør fila tilgjengelig som en nedlastbar artefakt (CI/CD -> Pipelines, deretter ikon helt til høyre for bygget). Fila kalles wiki.pdf. - only: - - web # Only web gjør at vi kun kjører denne delen av pipeline når en trykker på knappen "Run pipeline" - - -# NB! Javadoc genereres IKKE under bygging av prosjektet. Man må kjøre javadoc lokalt og legge til katalogen (med navnet "javadoc") -# til roten av prosjektet. Ellers vil denne delen feile. -pages: - stage: deploy - script: - - mkdir .public - - cp -r javadoc/* .public - - mv .public public - artifacts: - paths: - - public - only: - - main +image: maven:eclipse-temurin + +build: + stage: build + script: + - mvn compile + +test: + stage: test + script: + - mvn clean test + +generatepdf: + image: ubuntu:20.04 # vi kjører dette i en docker container, som kjører Ubuntu Linux + stage: deploy # vi kjører den parallelt med å publisere javadoc til Pages + script: + - apt-get update # apt-get er en pakkehåndterer som kan laste ned og installere pakker på linux-system + - apt-get install -y wget # installerer et tool som heter "wget", som kan fyre av HTML-requester på kommandolinja + - apt-get install -y fontconfig libfreetype6 libjpeg-turbo8 libpng16-16 libx11-6 libxcb1 libxext6 libxrender1 xfonts-75dpi xfonts-base # installerer en bunsj med libs vi trenger for konverteringen til PDF + - wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb # Henter HTML-til-PDF-konverterer fra git. Vi bruker denne spesifikke pakken fordi vi vet at den fungerer i miljøet vi kjører i + - dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb # Installerer pakken vi lastet ned i forrige steg + - apt-get -y install nodejs # installerer nodejs + - apt-get -y install npm # installerer npm, som er en pakkehåndterer (litt likt apt-get) for (hovedsaklig) javascript-biblioteker + - npm install -g github-wikito-converter # installerer wiki-til-html-konverterer via npm + - apt-get -y install git # installerer git + - export my_url="${gitlab.stud.idi.ntnu.no/carljgu/tournament-service.git}" # Fjerner https:// fra URLen + - export final_url="https://gitlab-ci-token:$CI_JOB_TOKEN@$my_url" # Bruker CI-token for å omgå krav til brukernavn/passord + - git clone "$final_url.wiki.git" # hver eneste gitlab-wiki ligger i et eget repo, og kan klones med git som man kloner andre prosjekter + - gwtc $idatt1002_2022_K1-G4.wiki # NB! DERSOM DENNE FEILER, ERSTATT MED NAVNET PÅ REPOET (enkelte gitlab-instanser ser ut til å gi denne feil verdi for gruppeprosjekter) + - wkhtmltopdf documentation.html wiki.pdf # Dette konverterer fra HTML til PDF + artifacts: + paths: + - wiki.pdf # Vi gjør fila tilgjengelig som en nedlastbar artefakt (CI/CD -> Pipelines, deretter ikon helt til høyre for bygget). Fila kalles wiki.pdf. + only: + - web # Only web gjør at vi kun kjører denne delen av pipeline når en trykker på knappen "Run pipeline" + + +# NB! Javadoc genereres IKKE under bygging av prosjektet. Man må kjøre javadoc lokalt og legge til katalogen (med navnet "javadoc") +# til roten av prosjektet. Ellers vil denne delen feile. +pages: + stage: deploy + script: + - mkdir .public + - cp -r javadoc/* .public + - mv .public public + artifacts: + paths: + - public + only: + - main