【问题标题】:Triggering jenkins build based on karaf feature metadata基于karaf特征元数据触发jenkins构建
【发布时间】: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


    【解决方案1】:

    最简单的方法是在特性项目的 pom 中添加依赖包。这样maven可以跟踪依赖关系。

    【讨论】:

      猜你喜欢
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      相关资源
      最近更新 更多