【发布时间】:2017-02-13 12:16:45
【问题描述】:
我们有一些聚合作业,可以根据 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 包,以用于测试或生产部署。
但是,在常规的 maven 或管道作业中,jenkins 自然不会检测到对 karafs 功能文件中表达的 maven 工件的依赖。最终结果是,当包含的捆绑包更新而功能版本没有更新时(通常是快照的情况),聚合作业将不会触发,如果在未清除工作空间的情况下手动触发,则不会包含更新的构建SNAPSHOT 依赖项。
我将如何向 jenkins 教授我的外部指定 maven 依赖项?
我尝试过基于元数据生成一个特性文件,但在支持使用 OSGi 部署同一工件的多个版本的用例上遇到了困难,这是 maven 不喜欢的。
【问题讨论】:
标签: java maven jenkins osgi karaf