CIB seven
CIB seven ist eine Open-Source-Prozess-Engine auf Basis von Camunda 7 und führt BPMN-Prozesse aus. Der Entwicklungsworkflow ist in zwei Phasen unterteilt: lokal entwickeln und testen, dann releasen – wobei ein Release gleichzeitig das Deployment auf dem zentralen Server bedeutet.
Prozesse entwickeln
Für die lokale Entwicklung läuft CIB seven als Docker-Container. Prozesse werden mit dem Camunda Modeler als BPMN-Diagramme modelliert und direkt in die lokale Engine deployed. Eine schrittweise Einführung bietet die offizielle Quick-Start-Dokumentation.
Setup
Das offizielle Docker-Setup steht unter cibseven/cibseven-docker bereit:
docker run -d --name cibseven -p 8080:8080 cibseven/cibseven:latest
Danach sind die Weboberflächen erreichbar unter:
| Oberfläche | URL |
|---|---|
| Tasklist | http://localhost:8080/webapp/tasklist |
| Cockpit | http://localhost:8080/webapp/cockpit |
| Admin | http://localhost:8080/webapp/admin |
| REST API | http://localhost:8080/engine-rest |
Standardzugangsdaten: demo / demo
BPMN modellieren
Prozesse werden mit dem Camunda Modeler als .bpmn-Dateien erstellt. Der Modeler läuft lokal und kann Prozesse direkt in eine laufende Engine deployen (Deploy-Button → http://localhost:8080/engine-rest).
Prozesse releasen = Deployment
Wenn ein Prozess lokal stabil ist, wird er in die zentrale Process Engine eingespielt. Ein Release ist kein separater Schritt vor dem Deployment – er ist das Deployment: Der Git-Tag löst die CI/CD-Pipeline aus, die ein Docker-Image baut und in die GHCR veröffentlicht. Portainer zieht das neue Image und startet den Container auf dem Server neu.
Alle Prozesse laufen gemeinsam in einer gemeinsam genutzten CIB-seven-Instanz. Als Seed für diese zentrale Process Engine steht d135-1r43/cibseven-template als Template-Repository bereit; die Keycloak-Anbindung ist darin bereits vorkonfiguriert (siehe OAuth2/OIDC). Wie das Docker-Image gebaut und deployed wird, beschreibt die Deployment-Seite.
Die lokale CIB-seven-Instanz bringt Weboberflächen mit (Tasklist, Cockpit, Admin). Die zentrale Instanz auf dem Server ist bewusst anders konfiguriert: Sie stellt ausschließlich die REST API bereit (/engine-rest). Es gibt dort kein Webinterface – alle Interaktionen laufen über die Microservices.
- Die fertige
.bpmn-Datei nachsrc/main/resources/kopieren. - Den Service lokal bauen und testen:
docker compose up -d # Keycloak startenmvn spring-boot:run # Service starten → http://localhost:8080
- Die Version in der
pom.xmlauf das gewünschte Release setzen, z. B.1.0.0. - Einen Git-Tag mit
v-Präfix setzen und pushen:git tag v1.0.0git push origin v1.0.0
Die CI/CD-Pipeline baut daraufhin automatisch ein Docker-Image und veröffentlicht es in der GitHub Container Registry mit dem passenden Semver-Tag (1.0.0).
Versionierung
Für die zentrale Process Engine verwenden wir auch Semantic Versioning.