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 ein benanntes Rollout-Setup innerhalb dieses Repositorys
- 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 ein benanntes Setup unterhalb von .divekit/distributions/<name>/.
Sie enthält die Konfiguration für einen Rollout.
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: