-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
74 lines (67 loc) · 3.2 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
image: maven:eclipse-temurin
stages:
- build
- test
- package
build:
stage: build
script:
- mvn compile
test:
stage: test
script:
- mvn clean test
artifacts:
paths:
- target/surefire-reports/
reports:
junit: target/surefire-reports/TEST-no.ntnu.idatt1002.demo.repo.MyEntityRepoTest.xml
coverage_report:
coverage_format: cobertura
path: target/jacoco/coverage-reports/jacoco.xml
package:
stage: package
script:
- mvn clean package
artifacts:
paths:
- target/idatt2002demo-1.0-SNAPSHOT-jar-with-dependencies.jar
generatepdf:
image: ubuntu:20.04 # vi kjører dette i en docker container, som kjører Ubuntu Linux
stage: package # 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="${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:
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: package
script:
- mvn clean package
- mvn javadoc:javadoc
- mkdir .public
- cp -rf target/site/apidocs/* .public
- cp -rf target/jacoco/* .public
- mv -f .public public
artifacts:
paths:
- public
only:
- web