2017-02-13 34 views
0

我們有生產適合我們的交付organizaton基於Apache Karaf功能文件觸發詹金斯建立基於karaf功能的元數據

<features name="${project.groupId}/${project.artifactId}/${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0 http://karaf.apache.org/xmlns/features/v1.4.0"> 

    <feature name="aggregated-bundles" version="${project.version}" start-level="80" install="auto"> 
     <bundle>mvn:local.example.project/service-bundle/1.0.0-SNAPSHOT</bundle> 
    </feature> 

</features> 

這些,與karafs Maven插件工具相結合產生的焦油distributables一些聚集的工作。爲GZ束傳遞下來測試或生產delpoyments行。

然而,在karafs特徵文件中表達的對maven工件的依賴性自然不會在常規maven或管道作業中由jenkins檢測到。最終的結果是,當所包括的束都得到更新且特徵版本並非如通常爲具有快照的情況下,聚合作業不會觸發,並且如果手動觸發而沒有被清除工作區中,將不包含更新建立的快照依賴。

我將如何去教關於我的外部指定的maven依賴關係的jenkins?

我試着生成一個基於元數據的功能文件,但在支持的使用OSGi的用例上部署了同一個artefact的多個版本,這是maven不喜歡的東西。

回答

0

最簡單的方法是在功能項目的pom中爲軟件包添加依賴項。這樣Maven可以跟蹤依賴關係。