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

更新Nexus管理的maven存储库上的侦听器,maven,plugins,repository,nexus,Maven,Plugins,Repository,Nexus,我们使用maven作为构建技术,使用nexus作为存储库管理器。我想知道刚刚上传到存储库的内容,并在存储库更新完成后执行一些操作。我怎么能做到 编写正在验证文件系统的侦听器并比较差异?如果工件已部署且上载过程已完成,我如何知道状态?也许你知道一些其他的解决办法 我需要的所有存储库都驻留在Linux上 更新,伙计们,我刚刚看到有nexus插件可以用于此。你知道如何在nexus插件中获取更新事件吗 谢谢。如果您使用的是持续集成(CI)服务器,那么您可能会有一个生成/部署后任务,它会发出您似乎感兴趣的

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

编写正在验证文件系统的侦听器并比较差异?如果工件已部署且上载过程已完成,我如何知道状态?也许你知道一些其他的解决办法

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

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


谢谢。

如果您使用的是持续集成(CI)服务器,那么您可能会有一个生成/部署后任务,它会发出您似乎感兴趣的通知


我没有深入了解Nexus OSS API,但也许你也可以查看他们的IRC频道(IRC.codehaus.org上的#maven/#Nexus)。

Nexus支持大量不同的集成,为你提供不同的选项。是的

  • 根据RESTAPI编写脚本,从外部访问Nexus功能
  • 从外部收听RSS源事件
  • 编写一个插件在Nexus中工作,并扩展其功能和/或用户界面
在您的情况下,您可以订阅包含您感兴趣的事件的系统提要。在您的情况下,它可能是“所有存储库中新部署的工件”,例如在
http://yournexusserver:8081/nexus/service/local/feeds/recentlyDeployedArtifacts

只需使用一些脚本或其他集成系统来监视提要,这些脚本或系统可以定期轮询提要,然后执行您想要的任何操作

如果你愿意,你当然可以把它转过来,编写一个Nexus插件,通过内部API监听事件,然后从Nexus触发一个动作。选择在实施方面对您更容易的方案


通过Repositories-system feeds查看系统源要进一步详细说明Manfred的答案,请在此处查看病毒扫描示例插件:


这很接近你想要的。请务必查看nexus-2.3.x分支,主机只能根据2.4-SNAPSHOT构建。

感谢您的回复。我已经在考虑将其作为部署后步骤添加到CI中,但我们可能会有几个CI,我想控制存储库和侦听器的内容,并在这里实现一些扩展点,这样会更好,但我还没有在Nexus方面找到任何东西。也许您可以在carlspring,情况很简单,如果我看到一些工件被添加到存储库中,我想启动一些脚本。我看到的解决方案是侦听存储库或nexus以上载新工件。否。最简单的解决方案是让您的CI成为唯一可以部署工件的人。通过这种方式,您可以始终添加一个生成后任务,以触发您想要的脚本。carlspring,如果您在世界各地拥有多个CI,甚至在一个办公室内,由于某些历史原因,您可能拥有多个CI,您会怎么做?你将需要更新几个地方,我宁愿有一个地方进行更改,而不是有几个地方。你觉得怎么样?曼弗雷德,谢谢你的回复。看起来很有趣。你知道我如何从外部收听RSS提要事件吗?也许你可以得到一些示例?这取决于你想要使用的工具。像Nagios之类的东西可以做到这一点。基本上,你可以定期轮询和解析提要。曼弗雷德,谢谢。我不打算使用3party工具,我想你可以告诉我Sonatype Nexus已经提供了什么来读取这些数据文件。看起来我几乎找到了RepositoryItemEventStoreCreate事件的解决方案,但你的答案也很有用。如果你想/可以触发你需要从Nexus执行的任何操作,在你自己的插件中监听该事件是一个很好的解决方案。