詹金斯是否有一种简单的方法可以列出所有标记为永久保留的所有构建?然后,理想情况下,单击即可取消将构建标记为永久保留或立即删除它?
在我们的流程中,如果构建涉及某种特定类型的故障,我们会将其标记为永久保留;这是为了防止詹金斯随着时间的推移自动删除。我需要一种简单的方法来获取所有这些永久构建的列表,这样它们就不会随着时间的推移占用我们所有的磁盘空间。
詹金斯是否有一种简单的方法可以列出所有标记为永久保留的所有构建?然后,理想情况下,单击即可取消将构建标记为永久保留或立即删除它?
在我们的流程中,如果构建涉及某种特定类型的故障,我们会将其标记为永久保留;这是为了防止詹金斯随着时间的推移自动删除。我需要一种简单的方法来获取所有这些永久构建的列表,这样它们就不会随着时间的推移占用我们所有的磁盘空间。
以下针对 Jenkins 的 XPath 查询将列出所有标记为“Keep Forever”的构建的 URL:
http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever
在浏览器中输入它,看看它返回什么。
现在,您可以将它嵌入到基于 XSLT 的 HTML 中,以获取包含指向这些构建的链接的列表。要删除构建,您可以提供一个调用 Jenkins CLI 的按钮:
java -jar jenkins-cli.jar -s http://[jenkins_server]/ delete-builds [job-name] [build-num]
不幸的是,我不知道如何在不删除 CLI 的情况下禁用“keep build forever”。
我一直在寻找同样的东西,我们的詹金斯也很大,正在尝试链接:
http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job/build[keepLog="true"]/url&wrapper=forever
我最终崩溃了。
但事实证明,我一次只需要最后一次“永远保持”一份工作,这似乎工作得更快。所以我改用以下内容:
http://[jenkisn_server]/job/[job_name]/api/xml/?depth=2&xpath=/freeStyleProject/build[keepLog="true"]/number&wrapper=forever
它返回带有标记为“永远保留”的所有构建数量的 xml 您可以修改 xpath 以满足您的需要。