4

我想知道是否有一个 Hudson/Jenkins 插件将存储库工件与创建它们的构建联系起来?我正在查看“从 nexus 存储库中删除工件”的问题,并认为在 Jenkins 中删除构建还应该提供删除构建创建的工件的选项。

我们目前正在运行Jenkins 1.447和 Nexus Open Source 1.9.2.3。我们的 Jenkins 构建使用 Maven 部署目标在我们的 Nexus 存储库中创建工件。我似乎一旦部署了这些工件,就没有类似的自动化机制来删除它们。我们希望将 Jenkins 构建与其 Nexus 工件联系起来。我想如果我们决定从 Jenkins 中删除构建,我们对构建没有用处,因此也不需要存储该构建的工件。我们希望删除构建以触发删除 Nexus 工件。

如果没有可用的东西,我想我可以开始写一些东西,但我想看看其他人是如何处理这个问题的。

4

4 回答 4

0

您可以通过maven-dependency-plugin从本地存储库中清除工件。

于 2012-04-11T07:20:41.667 回答
0

如果您有一个版本,那么根据构建服务器的编号对其进行编号是没有意义的。通常的用例是为此目的使用 SNAPSHOT。此外,通常的用例是在一段时间后从 Nexus 中删除基于计划任务的 SNAPSHOT,但永远不会从 Nexus 中删除版本。

于 2012-04-18T19:19:04.493 回答
0

由于您知道版本的名称,您可以构建自定义作业或触发器以使用 wget 命令从 nexus 存储库中删除工件。

作为 Nexus 中的正确用户,您确实可以删除发布工件,而不仅仅是 SNAPSHOTS。

于 2012-04-18T20:04:50.497 回答
0

您可以使用 Nexus 的 REST API 构建您自己的 Jenkins 插件,为您完成这项工作。您可以使用 Nexus 自定义元数据插件存储 Jenkins Build Job 编号。删除构建后,您可以让您的自定义 Jenkins 插件删除 Nexus 中在其元数据中具有该构建号的所有工件。我有一个类似的问题并编写了一个自定义 Jenkins 插件。在 github 上查看教程和源代码。这应该很简单。

教程: http: //blog.codecentric.de/en/2012/08/tutorial-create-a-jenkins-plugin-to-integrate-jenkins-and-nexus-repository/

源代码: https ://github.com/marcelbirkner/nexus-metadata-plugin/

于 2012-08-06T09:30:08.017 回答