Changes for page GitLab Erklärungen

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

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

Summary

Details

insert_drive_file Page properties
Content
... ... @@ -198,7 +198,9 @@
198 198   - deploy
199 199  {{/code}}
200 200  
201 -Der //verify-job //ist der erste Job, der in der Pipeline definiert ist. Er wird in der //verify-//Stage ausgeführt.
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 +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.
202 202  
203 203  {{code language="yaml"}}
204 204  verify-job:
... ... @@ -213,3 +213,40 @@
213 213   - when: always
214 214   allow_failure: false
215 215  {{/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
221 +
222 +{{code language="yaml"}}
223 +deploy_stats_pages:
224 + stage: deploy
225 + image: maven:3.9.9-amazoncorretto-21-al2023
226 + variables:
227 + DEVELOPMENT_BRANCH_NAME: "development"
228 + FETCH_MULTITHREAD: "true" #options are true/false
229 + LOGLEVEL: "SHORT" #options are OFF, SHORT, LONG. Has an effect on the amount of logging when data is being added
230 + #TIME_FRAMES: "01.01.2025,31.03.2025,40,Zeitraum01;01.04.2025,31.05.2025,35" #Format start,end,minHours[,name];anotherTimeframe;anotherTimeframe;...
231 + script:
232 + - yum install -y git rsync
233 + - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/gitlab2data.git
234 + - cd gitlab2data
235 + - mvn clean package
236 + - java -jar target/GitLab2Data-1.0-SNAPSHOT-jar-with-dependencies.jar
237 + - cd ..
238 + - mkdir -p public/data
239 + - rm -f public/data/*.json
240 + - cp gitlab2data/*.json public/data/
241 + - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/data4visual.git repo
242 + - rsync -av --exclude='data/' --exclude='.git' --exclude='.gitignore' repo/ public/
243 + artifacts:
244 + paths:
245 + - public
246 + pages:
247 + path_prefix: "stats" #to allow for parallel deployments of the projects own page don't make the stats site the main deployment
248 + expire_in: never
249 + rules:
250 + - if: $CI_PIPELINE_SOURCE == "schedule"
251 + when: always
252 + - when: never
253 +{{/code}}
254 +)))