更新由Nexus管理的maven存储库上的侦听器

时间:2013-03-08 12:54:48

标签: maven plugins repository nexus

我们使用maven作为构建技术,使用nexus作为存储库管理器。我想知道刚刚上传到存储库的内容以及在存储库更新完成后执行某些操作。我怎么能这样做?

编写正在验证文件系统的侦听器并比较差异?如果部署工件并上传过程完成,我怎么能知道状态?也许你知道其他一些解决方案吗?

我需要的所有存储库都驻留在Linux上。

更新,伙计们,我刚看到有可用于此的nexus插件。你知道如何在nexus插件中获得更新事件吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

要进一步详细说明Manfred的答案,请在此处查看病毒扫描示例插件:

https://github.com/sonatype/nexus-example-plugins/

它非常接近你想要的东西。一定要查看nexus-2.3.x分支,master只能在2.4-SNAPSHOT下构建。

答案 1 :(得分:0)

如果您使用的是持续集成(CI)服务器,则可以使用后期构建/部署任务来执行您似乎感兴趣的通知。

我没有多少挖掘Nexus OSS API,但也许你也可以查看他们的IRC频道(irc.codehaus.org上的#maven / #nexus)。

答案 2 :(得分:0)

Nexus支持大量不同的集成,为您提供不同的选择。他们是

  • 针对其REST API的脚本,以从外部访问Nexus功能
  • 收听外部的RSS Feed事件
  • 编写一个插件以在Nexus中工作并扩展其功能和/或用户界面

在您的情况下,您只需订阅包含您感兴趣的事件的系统提要。在您的情况下,可能是“所有存储库中的新部署的工件”,例如,在http://yournexusserver:8081/nexus/service/local/feeds/recentlyDeployedArtifacts

只需使用某些脚本或其他可以定期轮询它的集成系统监视该Feed,然后执行您想要的任何操作。

如果你想要,你当然可以转过身来编写一个Nexus插件,通过内部API聆听事件,然后触发来自Nexus的动作。选择在实施方面更容易的任何工作..

通过存储库 - 系统供稿enter image description here

查看系统供稿