我正在使用 0.8 版本的Drone-CI工具。我只想保留最后 10 个版本。是否可以在当前版本中配置保留策略?如果是,我该怎么做?
问问题
546 次
1 回答
1
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 或您选择的数据库管理软件来安排它。
于 2017-10-04T17:13:58.727 回答