2017-07-24 86 views
0

有沒有一種將依賴環境的cfg文件部署到karaf的標準方式?假設我在Dev和QA的2個版本中都有xyz.cfg文件。在這種情況下,我是否需要爲Dev和QA創建單獨的功能?將依賴於環境的配置部署到Apache Karaf

謝謝!

+0

據我所知,這是不可能的。 cfg文件可以具有系統屬性和默認值,但我認爲不可能根據系統屬性選擇功能 –

+0

您的意思是部署運行Karaf嗎?如果是這樣,你如何部署cfg文件?腳本? CI? 還是你的意思是,你需要爲不同的env組裝不同版本的應用程序? –

+0

請在下面找到我的答案。 – medalik

回答

0

也許有一種方法的功能。但我不知道如何。我們使用karaf-maven-plugin來建立一個定製的卡拉夫。在這種情況下,您可以爲Dev開發一個,爲QA開發一個。 Here是一個完整的描述。

所以希望這可以幫助你一點。

0

我想我找到了我正在尋找的解決方案。 Karaf功能支持配置文件的供應。請參閱「功能配置」和「功能配置文件」部分在這裏:

https://karaf.apache.org/manual/latest/provisioning

所有我必須做的是增加了一個功能,每一個在這裏我只包括該環境所需的配置文件中的環境。然後爲了部署,我部署了我的軟件包以及包含我嘗試部署到的環境的配置的功能。

例子:

<feature name="dev"> 
    <configfile ...> 
</feature> 

<feature name="qa"> 
    <configfile ...> 
</feature> 

然後,在開發中安裝:

repo-add my-repo 

feature:install some-feature-containing-bundles 

feature:install dev