Willkommen und mentales Modell
Orientierung und Setup
Willkommen und mentales Modell
Diese Lektion führt die drei Grundbegriffe ein, mit denen der ganze Kurs arbeitet: Origin-Repository, Distribution und Individualisierung.
Die Kernidee von Divekit: Es startet mit einem lokalen Origin-Repository — so heißt das Quellprojekt, das Ihre Vorlage enthält — und erzeugt daraus individualisierte Remote-Repositories.
Diese Projektstruktur bauen Sie später im Kurs Schritt für Schritt auf.
An dieser Stelle ist sie nur ein mentales Modell — noch keine Aufgabe, diese Dateien bereits anzulegen.
Eine vereinfachte Sicht sieht so aus:
vehicle-workshop/
├── .divekit/
│ ├── individualization.json
│ └── distributions/
│ └── M0/
│ └── config.json
├── src/
│ └── $Vehicle$.java
└── README.md
Die wichtigste Idee ist diese:
- Ihr Origin-Repository ist die Quelle
- Ihre Distribution ist eine Verteilung mit Namen: an welche Gruppe, mit welchen Rechten
- Ihre Individualisierungsdatei beschreibt, was zwischen den generierten Repositories variieren darf
Origin-Repository
Das Origin-Repository ist das lokale Quell-Repository, das Ihre Aufgaben-Vorlage und die Divekit-Konfiguration enthält.
Für Divekit selbst brauchen Sie kein git: Es spricht mit GitLab über dessen API, ein einfacher lokaler Ordner reicht also für diesen Kurs.
Das Projekt trotzdem als git-Repository zu führen, ist good practice — Divekit respektiert dann zum Beispiel Ihre .gitignore beim Verteilen.
Distribution
Eine Distribution ist eine Verteilung mit Namen: an welche GitLab-Gruppe, mit welchen Rechten. Ihre Konfiguration liegt unter .divekit/distributions/<name>/.
In diesem Kurs verwenden wir den Distributionsnamen M0.
Individualisierungsdatei
Für diesen Kurs ist individualization.json die zentrale Datei.
Sie definiert, was zwischen den verteilten Repositories variieren darf.
Für den Einsteiger-Workflow nutzen Sie nur deren Variationsteil.
Der Rest der Datei kann minimal bleiben, weil Divekit bereits sinnvolle Defaults mitbringt.
Die Beispielidee:
- Repository A bekommt
Car - Repository B bekommt
Bike - Repository C bekommt
Plane
Workflow
Für diesen Kurs sieht der Workflow so aus:
- Divekit installieren
- GitLab-Host und Token konfigurieren
- Projektordner anlegen oder betreten
divekit initausführen- die generierte
config.jsonprüfen - unaufgelöste Platzhalter mit
divekit devprüfen und sie dann mitdivekit dev --write-individualizationins Grundgerüst schreiben lassen individualization.jsonprüfen oder verfeinern- das Setup lokal validieren
- Mitglieder mit
divekit membersbereitstellen, oder sie eingeben, wenn ein Distributionslauf danach fragt — die optionale lokale Validierung in Schritt 8 zählt bereits - den echten Rollout mit
divekit distributeausführen - anschließend den generierten Zustand inspizieren
Sie können all das gefahrlos üben: Vor Schritt 10 wird nichts auf GitLab angelegt.
doctor, der Dev-Scan und --provider local bleiben auf Ihrem Rechner — und divekit purge kann Test-Repositories hinterher wieder entfernen.
Beispiel
Wir verwenden eine kleine Beispielaufgabe namens vehicle-workshop.
Sie ist bewusst minimal:
- ein Platzhalter:
$Vehicle$ - eine Distribution:
M0 - ein einfaches Variationsobjekt:
Vehicle - ein paar mögliche Ersetzungen wie
Car,BikeundPlane
So bleibt der Kurs auf den Workflow fokussiert statt auf fachliche Komplexität.
Check
Diese Fragen sollten Sie jetzt beantworten können: