Ich denke, ich fand die Lösung für das, was ich suche. Karaf-Funktionen unterstützen die Bereitstellung von Konfigurationsdateien. Siehe „Eigenschaften Konfigurationen“ und „Feature-Konfigurationsdateien“ Abschnitt hier:
https://karaf.apache.org/manual/latest/provisioning
Alles, was ich tun musste, ist ein Merkmal für jede Umgebung hinzufügen, wo ich nur die Konfigurationsdateien enthalten für diese Umgebung erforderlich. Anschließend stelle ich für die Bereitstellung sowohl meine Bundles als auch die Funktion mit der Konfiguration für die Umgebung bereit, für die ich die Bereitstellung durchführen möchte.
Beispiel:
<feature name="dev">
<configfile ...>
</feature>
<feature name="qa">
<configfile ...>
</feature>
Dann in dev zu installieren:
repo-add my-repo
feature:install some-feature-containing-bundles
feature:install dev
Afaik, dann ist es nicht möglich. Eine cfg-Datei kann Systemeigenschaften und einen Standardwert haben, aber ich glaube nicht, dass es möglich ist, eine Funktion basierend auf einer Systemeigenschaft zu wählen. –
Meinst du das Bereitstellen zu laufendem Karaf? Wenn ja, wie wird die cfg-Datei bereitgestellt? Skript? CI? Oder meinst du, du musst verschiedene Versionen der Anwendung für verschiedene env zusammenbauen? –
Bitte finden Sie meine Antwort unten. – medalik