Changes for page GitLab Erklärungen
Last modified by pmeyer on 2025/09/12 04:41
From 84.11 to 84.10
From 96.2 to 96.1
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 8 removed)
Details
- Page properties
-
- Content
-
... ... @@ -82,8 +82,6 @@ 82 82 83 83 [[image:Issue Label 3.png||data-xwiki-image-style-border="true"]] 84 84 85 ----- 86 - 87 87 = Product-Backlog = 88 88 89 89 Die erstellten Issues werden automatisch nach der Erstellung dem Product-Backlog (siehe [[Product-Backlog>>doc:Main.Scrum.WebHome||anchor="HProductBacklog"]]) hinzugefügt. Der Product-Backlog ist eine Liste mit allen erstellten und unbearbeiteten Issues. Dieser ist im GitLab unter dem Reiter **"Issue boards" **vorzufinden. ... ... @@ -118,8 +118,6 @@ 118 118 119 119 [[image:Liste6.png||data-xwiki-image-style-border="true"]] 120 120 121 ----- 122 - 123 123 = Erstellung eines Sprints = 124 124 125 125 In GitLab erfolgt die Erstellung eines Sprints in sogenannten **"Milestones"** (Meilensteine). Diese Option ist in der Projektnavigationsleiste unter dem Reiter **"Milestones" **vorzufinden. Um einen neuen Sprint zu erstellen wird die **"New Milestone"**-Option ausgewählt. ... ... @@ -160,8 +160,6 @@ 160 160 161 161 [[image:SprintF.png||data-xwiki-image-style-border="true"]] 162 162 163 ----- 164 - 165 165 = Erstellung eines Wikis = 166 166 167 167 Im Softwareprojekt müssen viele Daten dokumentiert (siehe [[Anforderungsanalyse>>doc:Main.Aufgabenstellung.WebHome||anchor="Teilaufgabe2:Anforderungsanalyse28Dokumentation29"]] und [[Entwurf>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe3:Entwurf28Dokumentation29"]] sowie [[Dokumentation>>doc:Main.Anforderungen Software.WebHome||anchor="HAnforderungen:Dokumentation"]]) werden und unter anderem auch ein Projekttagebuch (siehe [[Projekttagebuch>>doc:Main.Anforderungen Gruppen.WebHome||anchor="HProjekttagebuch"]] geführt werden. Dies wird in der Wiki-Funktion von GitLab umgesetzt. Diese Option ist in der Projektnavigationsleiste unter dem Reiter **"Wiki" **vorzufinden. ... ... @@ -181,8 +181,6 @@ 181 181 (% class="wikigeneratedid" id="H" %) 182 182 [[image:Wiki5.png||data-xwiki-image-style-border="true"]] 183 183 184 ----- 185 - 186 186 = Zeiterfassung in GitLab = 187 187 188 188 Im Rahmen des Softwareprojekts sollt ihr eure Arbeitszeit präzise festhalten. Dazu könnt ihr direkt auf angelegten Issues/Tasks/User Stories in dem Bereich **Time tracking** eure Arbeitszeit Aufgabenspezifisch eintragen. In dem Fenster könnt ihr eintragen wie viel Zeit ihr gearbeitet habt, an welchem Tag ihr gearbeitet habt, um nachträgliches verbuchen von Arbeitszeit zu ermöglichen, und eine kleine Zusammenfassung angeben. Sollte bereits Zeit erfasst worden sein, muss über das Plus (siehe Bild oben rechts im roten Rahmen) Zeit gebucht werden.[[image:1754139824426-497.png]] ... ... @@ -197,8 +197,7 @@ 197 197 198 198 Die Pipeline im Basisprojekt ist auf zwei Stages mit jeweils einem Job aufgeteilt und wird im Folgenden Schritt für Schritt erklärt. Ihr dürft im Rahmen des Softwareprojekts, wenn nötig, die Pipeline um weitere Jobs oder Stages erweitern. **Die bestehenden Jobs sollten allerdings **(von Studierenden) **nicht geändert werden.** 199 199 200 -In der //.gitlab-ci.yml //werden zunächst die Stages definiert. Eine Stage ist eine logische Gruppe von Jobs, die in einem bestimmten Abschnitt der Pipeline ausgeführt werden. Jobs in einer Stage werden parallel ausgeführt, es sei denn es wird eine Abhängigkeit in den Jobs definiert. 201 -Wenn alle Jobs in einer Stage (erfolgreich) abgeschlossen sind, startet die nächste Stage. Schlägt ein Job fehl wird die gesamte Pipeline gestoppt, außer es werden Jobs so markiert, dass sie fehlschlagen dürfen. 192 +In der //.gitlab-ci.yml //werden zunächst die Stages definiert. Eine Stage ist eine logische Gruppe von Jobs, die in einem bestimmten Abschnitt 202 202 203 203 {{code language="yaml"}} 204 204 stages: ... ... @@ -205,102 +205,3 @@ 205 205 - verify 206 206 - deploy 207 207 {{/code}} 208 - 209 -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"//). 210 -Im Script-Abschnitt wird dann mvn clean verify ausgeführt. Maven verify baut das Projekt und führt die Tests im Projekt aus. 211 -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. 212 - 213 -{{code language="yaml"}} 214 -verify-job: 215 - stage: verify 216 - image: eclipse-temurin:21-jdk-alpine 217 - script: 218 - - "./mvnw clean verify" 219 - rules: 220 - - if: $CI_PIPELINE_SOURCE == "schedule" 221 - when: always 222 - allow_failure: true 223 - - when: always 224 - allow_failure: false 225 -{{/code}} 226 - 227 -((( 228 - 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. 229 -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:in) 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. 230 -Im Script-Bereich wird erst git installiert und dann die Projekete zur Erfassung und Visualisierung der Daten installiert. 231 -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. 232 -Im Gegensatz zum //verify-job// wird der //deploy_stats_pages//-Job **nur** ausgeführt, wenn die Pipeline zeitgesteuert gestartet wird. 233 - 234 -{{code language="yaml"}} 235 -deploy_stats_pages: 236 - stage: deploy 237 - image: maven:3.9.9-amazoncorretto-21-al2023 238 - variables: 239 - DEVELOPMENT_BRANCH_NAME: "development" 240 - FETCH_MULTITHREAD: "true" #options are true/false 241 - LOGLEVEL: "SHORT" #options are OFF, SHORT, LONG. Has an effect on the amount of logging when data is being added 242 - #TIME_FRAMES: "01.01.2025,31.03.2025,40,Zeitraum01;01.04.2025,31.05.2025,35" #Format start,end,minHours[,name];anotherTimeframe;anotherTimeframe;... 243 - script: 244 - - yum install -y git rsync 245 - - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/gitlab2data.git 246 - - cd gitlab2data 247 - - mvn clean package 248 - - java -jar target/GitLab2Data-1.0-SNAPSHOT-jar-with-dependencies.jar 249 - - cd .. 250 - - mkdir -p public/data 251 - - rm -f public/data/*.json 252 - - cp gitlab2data/*.json public/data/ 253 - - git clone https://gitlab.swl.informatik.uni-oldenburg.de/GA/data4visual.git repo 254 - - rsync -av --exclude='data/' --exclude='.git' --exclude='.gitignore' repo/ public/ 255 - artifacts: 256 - paths: 257 - - public 258 - pages: 259 - path_prefix: "stats" #to allow for parallel deployments of the projects own page don't make the stats site the main deployment 260 - expire_in: never 261 - rules: 262 - - if: $CI_PIPELINE_SOURCE == "schedule" 263 - when: always 264 - - when: never 265 -{{/code}} 266 - 267 ----- 268 - 269 -= GitLab Pages (Einsehen der erfassten Projektdaten) = 270 -))) 271 - 272 - Wie im vorherigen Abschnitt beschrieben, werden im Softwareprojekt mit Hilfe der Pipeline Daten erfasst. Diese Daten können dann aus GitLab eingesehen werden, dazu kann man im Projekt über Deploy -> Pages und das Parallele Deployment "stats" die Daten einsehen. 273 - [[image:1756156505473-305.png||alt="Pages können im Projekt über Deploy -> Pages eingesehen werden"]][[image:1756156620220-340.png||height="174" width="1226"]] 274 - 275 -== User Overview == 276 - 277 -Auf der Seite User overview wird eine kompakte Übersicht aller Projektmitglieder dargstellt. Nutzer:innen werden nicht dargestellt, solange keine Zeitbuchung getätigt wurde. 278 -[[image:1756156928160-441.png]] 279 - 280 -== Timelogs == 281 - 282 -Unter Timelogs können einzelne Zeiteintragungen eingesehen werden. Dazu gibt es einige Filtermöglichkeiten, sowie die Möglichkeit nach Zeiträumen zu filtern. In Tabellenform lassen sich die Einträge einzelner Tage anklicken, um eine detailliertere Beschreibung einsehen zu können. 283 - 284 -[[image:1756157154724-721.png]] 285 - 286 -== Request (und Review) Overview == 287 - 288 -Auf der Seite Request Overview können alle im Projekt erstellten Merge Requests eingesehen werden. Unter dem Diagramm ist zusätzlich eine Tabelle zu sehen, die neben der Anzahl im Diagramm noch weitere Informationen wie bspw. Titel und Status beinhaltet. Die Daten lassen sich nach Zielbranch (interessant ist hier Development) und Nutzer:in (durch einen Klick im Tortendiagramm) filtern. Die Seite Review Overview ist vom Verhalten analog gestaltet. 289 - 290 -[[image:1756157368271-628.png]] 291 - 292 -== Code Contribution == 293 - 294 -Die Code Contribution Seite zeigt grafisch aufbereitete Informationen über die Menge an geschriebenem Code und die Zahl der Commits. Der Nutzer kann zwischen verschiedenen Diagrammtypen wählen (tägliche, monatliche oder Gesamtsummen für Code-nderungen bzw. Commits) und über Filter den dargestellten Zeitraum einschränken. Auch die Skalierung der Y-Achse kann angepasst werden. 295 - 296 -[[image:1756157513027-447.png]] 297 - 298 -== Target Time == 299 - 300 -Die Target Time Seite ermöglicht die Auswertung der Arbeitszeit im Vergleich zur erwarteten Mindestarbeitszeit über definierte Zeiträume hinweg. Die Zeiträume müssen für eine Verwendung der Seite vom **Betreuer der Gruppe** (Tutor) in der GitLab Pipeline als Variable gesetzt sein (siehe Abschnitt zur Pipeline im Basisprojekt2). Wenn alles gesetzt ist, dann kann über die Seite eingesehen werden, wie viel Zeit im Verhältnis der erwarteten Zeit, ins Projekt investiert wurde. **Unter der roten Linie sollte keiner auf Dauer sein.** 301 - 302 -[[image:TargetTime.png]] 303 - 304 ----- 305 - 306 -
- 1756156505473-305.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -148.9 KB - Content
- 1756156620220-340.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -30.7 KB - Content
- 1756156928160-441.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -102.6 KB - Content
- 1756157154724-721.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -125.1 KB - Content
- 1756157360066-681.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -125.1 KB - Content
- 1756157368271-628.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -109.5 KB - Content
- Codecontribution.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -117.3 KB - Content
- TargetTime.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.sbeyer1 - Size
-
... ... @@ -1,1 +1,0 @@ 1 -148.9 KB - Content