image:ubuntu:20.04# vi kjører dette i en docker container, som kjører Ubuntu Linux
# Docs: https://docs.gitlab.com/ee/pages/
stage:deploy# vi kjører den parallelt med å publisere javadoc til Pages
image:ruby:2.6
variables:
JEKYLL_ENV:production
LC_ALL:C.UTF-8
before_script:
-gem install bundler
-bundle install
test:
stage:test
script:
script:
-bundle exec jekyll build -d test
-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="${CI_PROJECT_URL: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 $CI_PROJECT_NAME.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:
artifacts:
paths:
paths:
-test
-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.
except:
only:
variables:
-web# Only web gjør at vi kun kjører denne delen av pipeline når en trykker på knappen "Run pipeline"