1

我在 src/main/resources/features 文件夹中有我的 features.xml 文件,当我在构建我的包后通过 Jenkins 构建我的项目时,我的要求是在我的包进入 nexus 之后 features.xml 应该自动仅作为构建的一部分部署在 servicemix 上。我不应该打开 servicemix 控制台来安装该功能。请帮忙

4

2 回答 2

1

您可能会考虑使用 KAR (KAraf aRchive)。更多信息可以在这里找到:http: //karaf.apache.org/manual/latest-3.0.x/users-guide/kar.html

您可以构建一个包含您的功能的 KAR(通过 Jenkins),然后您可以使用热部署。

Apache Karaf 还提供了一个 KAR 部署器。这意味着您可以将 KAR 文件直接放在部署文件夹中。

Apache Karaf 将自动从 deploy 文件夹安装 KAR 文件。您可以在 etc/org.apache.karaf.kar.cfg 中更改 KAR 部署程序的行为:

于 2015-11-01T10:31:10.847 回答
0

我也一直在研究这个问题,我的解决方案是转向自动化脚本来完成这个任务。我编写了一个基于 ssh 和 FTP 的程序,它会停止 smx,删除 ${karaf.home}/data/cache/ 目录,用从 ftp 操作中检索到的文件替换新的功能文件,然后重新启动 karaf 容器。

如果您愿意研究其他可能性:

您可以查看 Fuse Fabric,它可以将许多 smx 容器链接在一起并实现版本增加和回滚。目前我相信这也需要脚本来自动完成。

第三个选项相对较新,以构建 docker 映像并通过 OpenShiftV3 部署它们的形式出现,OpenShiftV3 刚刚在 2015 年 Redhat 峰会上亮相。值得注意的是它相当新,但它确实包含了一个非常令人印象深刻的功能集。

于 2015-10-07T20:26:29.033 回答