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 server
的 Delete API
,使用正确的 Authentication
在其中存储工件。
【讨论】:
这个功能我已经试过了,但是当作业被删除时这并不会删除已经部署的构建。【参考方案2】:我们有相同的设置,每个分支自动创建和删除作业。我们还有一个清理作业,它会删除所有节点上过时的工作空间。
但我们从未想过在作业删除时从存储库中删除工件。我们从存储库方面解决了这个问题。至少在我们的案例中,Nexus Artifact Repository 中有一些可用的清理作业,我们用它们来删除过时的工件。
【讨论】:
以上是关于Jenkins - 在作业删除时删除已部署的工件的主要内容,如果未能解决你的问题,请参考以下文章
github jenkins webhook 期待已删除的 jenkins 作业