Changes for page GitLab Erklärungen

Last modified by pmeyer on 2025/09/12 04:41

edited by sbeyer1
on 2025/08/25 12:12
Change comment: There is no comment for this version
edited by sbeyer1
on 2025/08/25 11:50
Change comment: There is no comment for this version

Summary

Details

insert_drive_file 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// 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.
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//
204 204  
205 205  {{code language="yaml"}}
206 206  verify-job:
... ... @@ -215,44 +215,3 @@
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 -)))