Jenkins - 在作业删除时删除已部署的工件

Posted

技术标签:

【中文标题】Jenkins - 在作业删除时删除已部署的工件【英文标题】:Jenkins - Delete deployed artifacts on job delete 【发布时间】:2016-12-09 13:13:21 【问题描述】:

目前,我正在创建一个 Jenkins 作业,它会在 Git 存储库中创建新分支时自动创建新的 Jenkins 作业。删除分支时也应将其删除。这很容易。

但这些新作业将其工件部署到远程服务器。一旦一个自动创建的作业被删除,所有创建的工件都应该被删除。而这里我也不知道了。

为了部署工件,我使用了 Jenkins Artifact Deployer 插件。 为了自动创建作业,我编写了作业 DSL 脚本(这也会删除作业)。

这是 Jenkins Artifact Deployer 插件设置的照片:

我希望有人可以帮助我。

问候

【问题讨论】:

【参考方案1】:

您可以使用 在作业被删除时执行 groovy 脚本 选项。

在 Groovy 脚本中,调用 remote serverDelete API,使用正确的 Authentication 在其中存储工件。

【讨论】:

这个功能我已经试过了,但是当作业被删除时这并不会删除已经部署的构建。【参考方案2】:

我们有相同的设置,每个分支自动创建和删除作业。我们还有一个清理作业,它会删除所有节点上过时的工作空间。

但我们从未想过在作业删除时从存储库中删除工件。我们从存储库方面解决了这个问题。至少在我们的案例中,Nexus Artifact Repository 中有一些可用的清理作业,我们用它们来删除过时的工件。

【讨论】:

以上是关于Jenkins - 在作业删除时删除已部署的工件的主要内容,如果未能解决你的问题,请参考以下文章

github jenkins webhook 期待已删除的 jenkins 作业

使用多个Jenkins工件创建Xl部署包

Gitlab:构建后如何在后续作业中使用工件

该作业依赖于具有过期/已擦除工件的其他作业

配置 Maven 或 Nexus 以在静态 URL 链接主干工件

用于CI和CD部署的BlackDuck扫描集成