Changes for page GitLab Erklärungen
Last modified by pmeyer on 2025/09/12 04:41
From 84.13 to 84.14
From 84.24 to 85.1
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -200,7 +200,7 @@ 200 200 201 201 Der //verify-job //ist der erste Job, der in der Pipeline definiert ist. Er wird in der //verify-//Stage ausgeführt. Das Image ist ein Docker-Image, welches schon mit einer Java 21 Umgebung eingerichtet ist. Dadurch wird sichergestellt, dass der Job immer die gleiche Umgebung hat ("//but it works on my machine"//). 202 202 Im Script-Abschnitt wird dann mvn clean verify ausgeführt. Maven verify baut das Projekt und führt die Tests im Projekt aus. 203 -Die Rules definieren, wann ein Job ausgeführt wird und ob das Fehlschlagen des Jobs erlaubt ist. Regeln werden von oben nach unten ausgewertet. //$CI_PIPELINE_SOURCE == "schedule" //sagt dass der Job bei automatischen Aufrufen über einen zeitgesteuerten Start der Pipeline mit besonderen Einschränkungen ausgeführt werden soll. //allow_failure// 203 +Die Rules definieren, wann ein Job ausgeführt wird und ob das Fehlschlagen des Jobs erlaubt ist. Regeln werden von oben nach unten ausgewertet. //$CI_PIPELINE_SOURCE == "schedule" //sagt dass der Job bei automatischen Aufrufen über einen zeitgesteuerten Start der Pipeline mit besonderen Einschränkungen ausgeführt werden soll. //allow_failure// erlaubt in dem Fall, dass bei automatischer Ausführung die Pipeline nicht abgebrochen wird, falls sich euer Projekt nicht bauen lässt, damit darauffolgende Jobs weiterhin ausgeführt werden. 204 204 205 205 {{code language="yaml"}} 206 206 verify-job: ... ... @@ -215,3 +215,44 @@ 215 215 - when: always 216 216 allow_failure: false 217 217 {{/code}} 218 + 219 +((( 220 + Der //deploy_stats_pages// Job ist der erste Job, der in der //deploy//-Stage ausgeführt wird. Der Job erfasst eure Projektarbeitsdaten (bspw. eure Stundenbuchungen) und veröffentlicht diese, nur für euch in GitLab sichtbar, in eurem Projekt. 221 +Die Variablen sind Umgebungsvariablen, die zum Erfassen der Daten benötigt werden. **Die //TIME_FRAMES// Variable ist auskommentiert und sollte durch euren projektverantwortlichen Betreuer:in (Tutor) angepasst werden.** Durch die //TIME_FRAMES// Variable können die [[Einschätzungszeiträume>>https://xwiki.swl.informatik.uni-oldenburg.de/xwiki/bin/view/Main/Bewertung/#HBewertungszeitrE4ume]] sowie die "Soll-Zeit" pro Zeitraum gesetzt und für die Visualisierung verwendet werden. 222 +Im Script-Bereich wird erst git installiert und dann die Projekete zur Erfassung und Visualisierung der Daten installiert. 223 +Der Artifakt-Bereich definiert welche Dateien nach Ausführung des Jobs behalten werden. Der Public Ordner wird verwendet, um statische Websiten zu veröffentlichen. In diesem Fall die Visualisierung der erfassten Daten. 224 +Im Gegensatz zum //verify-job// wird der //deploy_stats_pages//-Job **nur** ausgeführt, wenn die Pipeline zeitgesteuert gestartet wird. 225 + 226 +{{code language="yaml"}} 227 +deploy_stats_pages: 228 + stage: deploy 229 + image: maven:3.9.9-amazoncorretto-21-al2023 230 + variables: 231 + DEVELOPMENT_BRANCH_NAME: "development" 232 + FETCH_MULTITHREAD: "true" #options are true/false 233 + LOGLEVEL: "SHORT" #options are OFF, SHORT, LONG. Has an effect on the amount of logging when data is being added 234 + #TIME_FRAMES: "01.01.2025,31.03.2025,40,Zeitraum01;01.04.2025,31.05.2025,35" #Format start,end,minHours[,name];anotherTimeframe;anotherTimeframe;... 235 + script: 236 + - yum install -y git rsync 237 + - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/gitlab2data.git 238 + - cd gitlab2data 239 + - mvn clean package 240 + - java -jar target/GitLab2Data-1.0-SNAPSHOT-jar-with-dependencies.jar 241 + - cd .. 242 + - mkdir -p public/data 243 + - rm -f public/data/*.json 244 + - cp gitlab2data/*.json public/data/ 245 + - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/data4visual.git repo 246 + - rsync -av --exclude='data/' --exclude='.git' --exclude='.gitignore' repo/ public/ 247 + artifacts: 248 + paths: 249 + - public 250 + pages: 251 + path_prefix: "stats" #to allow for parallel deployments of the projects own page don't make the stats site the main deployment 252 + expire_in: never 253 + rules: 254 + - if: $CI_PIPELINE_SOURCE == "schedule" 255 + when: always 256 + - when: never 257 +{{/code}} 258 +)))