基于karaf要素元数据触发jenkins构建

时间:2017-02-13 12:16:45

标签: java maven jenkins osgi karaf

我们有一些聚合作业可以根据Apache 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插件工具相结合,产生一个tar.gz包,用于传递给测试或生产装置。

然而,jenkins在常规maven或管道作业中自然不会检测到对karafs特征文件中表示的maven工件的依赖性。最终结果是,当更新包含的包并且功能版本不是(通常是快照的情况)时,聚合作业将不会触发,如果在没有清除工作空间的情况下手动触发,则不会包含更新了SNAPSHOT依赖项的构建。

我如何教jenkins关于我外部指定的maven依赖项?

我已经尝试根据元数据生成一个功能文件,但是被支持使用OSGi来部署同一个人工制品的多个版本,这是maven不喜欢的东西。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在功能项目的pom中添加依赖项。这样maven就可以跟踪依赖关系了。