Skip to Content

Konfiguration

Die Konfiguration des Artifact Shippers erfolgt über eine config.json-Datei, die alle notwendigen Parameter für den Deployment-Prozess enthält.

Aufbau der config.json

Die Konfigurationsdatei ist in mehrere Hauptbereiche unterteilt:

{ "general": { ... }, "credentials": { ... }, "artifacts": [ ... ], "targets": [ ... ], "preprocessors": [ ... ] }

General Settings

Der general-Bereich enthält grundlegende Einstellungen:

{ "general": { "logLevel": "info", "skipValidation": false } }

Parameter

  • logLevel: Logging-Level (error, warn, info, debug, trace)
  • skipValidation: Validierung von Artefakten überspringen (Standard: false)

Credentials

Der credentials-Bereich definiert Zugangsdaten für verschiedene Systeme:

{ "credentials": { "processcube": { "type": "openid", "authority": "https://authority.example.com", "clientId": "artifact-shipper", "clientSecret": "your-secret" }, "git": { "username": "git-user", "token": "github-personal-access-token" } } }

ProcessCube® Credentials

Für die Authentifizierung bei der ProcessCube® Engine:

  • type: Authentifizierungstyp (openid)
  • authority: URL der Authority
  • clientId: Client-ID für OAuth2
  • clientSecret: Client-Secret für OAuth2

Git Credentials

Für den Zugriff auf private Git-Repositories:

  • username: Git-Benutzername
  • token: Personal Access Token

Artifacts

Der artifacts-Array definiert, welche Artefakte aus welchen Quellen geladen werden sollen:

Lokale Dateien

{ "artifacts": [ { "type": "local", "path": "./bpmn-diagrams", "pattern": "**/*.bpmn" } ] }

Git Repository

{ "artifacts": [ { "type": "git", "repository": "https://github.com/example/processes.git", "branch": "main", "path": "diagrams", "pattern": "**/*.bpmn" } ] }

Parameter

  • type: Quelltyp (local, git)
  • path: Pfad zum Verzeichnis
  • pattern: Glob-Pattern für Dateien (z.B. **/*.bpmn, **/*.json)
  • repository: Git-Repository-URL (nur bei type: git)
  • branch: Git-Branch (nur bei type: git, Standard: main)

Targets

Der targets-Array definiert, wohin die Artefakte deployed werden:

ProcessCube® Engine

{ "targets": [ { "type": "processcube-engine", "url": "https://engine.example.com", "overwriteExisting": true } ] }

ProcessCube® LowCode

{ "targets": [ { "type": "processcube-lowcode", "url": "https://lowcode.example.com", "flowName": "main-flow" } ] }

Parameter

  • type: Zieltyp (processcube-engine, processcube-lowcode)
  • url: URL des Zielsystems
  • overwriteExisting: Bestehende Artefakte überschreiben (nur Engine, Standard: true)
  • flowName: Name des Flows (nur LowCode)

Preprocessors

Preprocessors ermöglichen die Transformation von Artefakten vor dem Deployment:

{ "preprocessors": [ { "type": "replace", "pattern": "\\$\\{ENV\\}", "replacement": "production" } ] }

Verfügbare Preprocessors

Replace

Ersetzt Text-Patterns in den Artefakten:

  • type: replace
  • pattern: Regex-Pattern (als String)
  • replacement: Ersetzungstext

Vollständiges Beispiel

{ "general": { "logLevel": "info", "skipValidation": false }, "credentials": { "processcube": { "type": "openid", "authority": "https://authority.processcube.io", "clientId": "artifact-shipper", "clientSecret": "secret123" }, "git": { "username": "deployment-user", "token": "ghp_xxxxxxxxxxxxx" } }, "artifacts": [ { "type": "git", "repository": "https://github.com/company/processes.git", "branch": "main", "path": "bpmn", "pattern": "**/*.bpmn" }, { "type": "local", "path": "./flows", "pattern": "**/*.json" } ], "targets": [ { "type": "processcube-engine", "url": "https://engine.processcube.io", "overwriteExisting": true }, { "type": "processcube-lowcode", "url": "https://lowcode.processcube.io", "flowName": "production-flow" } ], "preprocessors": [ { "type": "replace", "pattern": "\\$\\{ENV\\}", "replacement": "production" } ] }

Umgebungsvariablen

Sensible Daten wie clientSecret können auch über Umgebungsvariablen referenziert werden:

{ "credentials": { "processcube": { "clientSecret": "${PROCESSCUBE_CLIENT_SECRET}" } } }

Der Artifact Shipper ersetzt ${VARIABLE_NAME} automatisch durch den Wert der entsprechenden Umgebungsvariable.