我们使用Bamboo CI。有多个 Bamboo 本地代理商,并且在许多计划中并行构建。 Bamboo-home中的build-dir有数百GB,分析表明,随着添加新的功能分支,它在不断增长。计划似乎在每个本地代理目录中都有重复,也直接在build-dir中重复了。
与即将过期的文物不同,Bamboo似乎无法自行清理。例如,如果删除了本地代理,则本地代理构建目录将永远坐在那里,占用大量空间。
可以将计划设置为在构建结束时进行清理,但是如果需要对构建进行事后分析,则会影响问题分析。
由于目录空间不足,我刚刚添加了一个日常cron任务,以定期删除超过21天未访问的文件和目录。当我第一次手动运行此程序时,我从600GB的分区中回收了300GB。我想知道其他人是否也遇到过同样的问题,从长远来看,从外部清理build-dir是否安全。它会影响 Bamboo 制品吗?我是否错过了一些 Bamboo 制选择,可以为我做到这一点?
在Atlassian网站上进行搜索没有帮助,也没有任何答案...其他人正在采取什么措施来驯服这种太空 pig ?
最佳答案
cron作业已经运行了一段时间,没有任何问题,并且正在控制空间使用。
我已将参数减少为15天。
我的crontab看起来像这样:
# clean up old files from working directory
0 20 * * * find /<path_to>/bamboo-home/xml-data/build-dir/ -depth -not -path *repositories-cache* -atime +15 -delete
# clean up old backups every Sunday
0 21 * * 0 find /<path_to>/bamboo-home/backups -type f -mtime +28 -delete
# remove any old logs from install directory after 15 days
0 22 * * * find /<path_to>/bamboo/logs/ -type f -mtime +15 -delete
# quick and dirty truncate catalina.out to stop it growing too large (or better still use logrotate)
0 23 * * * cat /dev/null > /<path_to>/bamboo/logs/catalina.out
我希望这对尝试驯服Bamboo的磁盘空间使用情况的其他人有用。
第一项工作很重要,最后三项只是家务。
N.B.由于我公司外包Linux环境中的特殊情况,在catalina.out上不使用logrotate。我一般建议尽可能使用logrotate而不是我的快速而肮脏的截断方法-参见Jon V的回答。
关于continuous-integration - Bamboo build-dir多余的空间可以用cron作业清理吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35444951/