如何删除gitlab CI作业管道日志/构建和历史记录

问题描述 投票:2回答:2

我们如何配置gitlab以仅保留最后10个CI作业/构建并继续删除其余的?

例如,在Jenkins中,我们可以将作业配置为仅保留最后的X版本。

gitlab gitlab-ci gitlab-ci-runner
2个回答
0
投票

我认为Gitlab不支持此功能。但您可以使用Gitlab API和webhooks自行创建此功能。

当您推送到repo(并且管道已启动)时,它将触发webhook,它可以通过API读取您的CI历史记录=>您可以删除任何您想要的内容。

这是pipeline events的文档

这是job API的文档

仅供参考我使用类似的解决方案。我为每个分支部署了服务器(每个brach都有MR)。当MR关闭时,删除已部署的服务器。它非常可靠。


4
投票

Gitlab Release 11.6开始,删除管道现在是一个选项,仅适用于维护者,通过API。

你需要:

  • API令牌
  • 该项目的id
  • 您希望删除的管道的pipeline_id

使用项目id: 1pipeline_id: 4的文档中的curl的示例:

curl --header "PRIVATE-TOKEN: <your_access_token>" --request "DELETE" "https://gitlab.example.com/api/v4/projects/1/pipelines/46"

文档是here

© www.soinside.com 2019 - 2024. All rights reserved.