Changes for page GitLab Erklärungen

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

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

Summary

Details

insert_drive_file Page properties
Content
... ... @@ -187,13 +187,22 @@
187 187  
188 188  == Pipeline im Basisprojekt v2 ==
189 189  
190 -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**
190 +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.**
191 191  
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 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.
193 +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.
194 +
192 192  {{code language="yaml"}}
193 193  stages:
194 194   - verify
195 195   - deploy
199 +{{/code}}
196 196  
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.
204 +
205 +{{code language="yaml"}}
197 197  verify-job:
198 198   stage: verify
199 199   image: eclipse-temurin:21-jdk-alpine
... ... @@ -205,8 +205,10 @@
205 205   allow_failure: true
206 206   - when: always
207 207   allow_failure: false
217 +{{/code}}
208 208  
209 -deploy_stats_pages:
219 + Der 
220 +{{box}}deploy_stats_pages:
210 210   stage: deploy
211 211   image: maven:3.9.9-amazoncorretto-21-al2023
212 212   variables:
... ... @@ -235,5 +235,4 @@
235 235   rules:
236 236   - if: $CI_PIPELINE_SOURCE == "schedule"
237 237   when: always
238 - - when: never
239 -{{/code}}
249 + - when: never{{/box}}