【发布时间】:2017-10-03 13:25:12
【问题描述】:
我正在使用 0.8 版本的 Drone-CI 工具。我只想保留最后 10 个版本。是否可以在当前版本中配置保留策略?如果是,我该怎么做?
【问题讨论】:
标签: continuous-integration drone.io
我正在使用 0.8 版本的 Drone-CI 工具。我只想保留最后 10 个版本。是否可以在当前版本中配置保留策略?如果是,我该怎么做?
【问题讨论】:
标签: continuous-integration drone.io
Drone 没有用于清除或归档数据的内置机制。话虽如此,drone 是一个关系数据库,这意味着您可以连接并执行查询以清除数据。
有一个 github 问题,其中包含一个用于清除数据的示例脚本: https://github.com/drone/docs/issues/238
-- delete old logs
DELETE FROM logs WHERE log_job_id IN (
SELECT proc_id FROM procs WHERE proc_build_id IN (
SELECT build_id
FROM repos, builds
WHERE repo_id = build_repo_id
AND build_number < repo_counter - 20
)
);
-- delete old procs
DELETE FROM procs WHERE proc_build_id IN (
SELECT build_id
FROM repos, builds
WHERE repo_id = build_repo_id
AND build_number < repo_counter - 20
);
-- delete old builds
DELETE FROM builds WHERE build_id IN (
SELECT build_id
FROM repos, builds
WHERE repo_id = build_repo_id
AND build_number < repo_counter - 20
);
根据 github 问题,上述脚本可能需要修改才能在生产环境中使用。所以请根据需要进行测试和修改。
一旦脚本按照您的喜好运行,就可以使用简单的 cronjob 或您选择的数据库管理软件来安排它。
【讨论】: