Bamboo build-dir过多的空间可以用cron工作清理吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bamboo build-dir过多的空间可以用cron工作清理吗?相关的知识,希望对你有一定的参考价值。
我们使用Bamboo CI。许多计划中有多个竹本地代理和并行构建。 Bamboo-home中的build-dir有数百GB,分析显示它随着新功能分支的增加而不断增长。计划似乎在每个本地代理目录中都是重复的,也直接在build-dir中。
与过期的工件不同,Bamboo似乎并没有自己清理它。例如,如果删除了本地代理,则本地代理构建目录将永远占用大量空间。
可以将计划设置为在构建结束时进行清理,但是如果需要对构建进行事后验证,则会影响问题分析。
由于目录空间不足,我刚刚添加了每日cron任务,以定期删除超过21天未访问的文件和目录。当我第一次手动运行时,我从600GB分区中回收了300GB。我想知道其他人是否遇到过同样的问题,以及从长远来看外部清理build-dir是否安全。它会影响竹子的建造吗?是否有一些我错过的竹子选项会为我做这个?
在Atlassian网站上搜索没有帮助,也没有得到答案......其他人正在做些什么来驯服这个太空猪?
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
我希望这对于试图驯服竹子磁盘空间使用的其他人有用。第一份工作是重要工作,最后三份工作只是家务。
注:由于我的公司外包linux环境的独特情况,catalina.out上没有使用logrotate。我通常会建议logrotate,如果可能的话,而不是我快速和脏的截断方法 - 请参阅Jon V.的回答
虽然cron的想法运作良好 - 我过去在Bamboo中也做过的事情就是“每次构建后清理工作目录”选项。基本上,对于任何给定的作业,都有一个配置选项可以清理给定计划/作业的相应build-dir/<build_plan_job>
目录:
操作 - >配置计划 - >单击作业 - > Miscelaneous选项卡 - >第一个复选框
虽然这可以确保清除未来的构建临时区域,但它对现有和/或旧构建没有帮助。鉴于正常的git样式工作流程,你有很多分支(并且每个分支为它创建一个特定的作业ID(如PLAN-JOB_WITH_BRANCH_NUMBER-BUILD_NUMBER
或类似的)快速变大/大。我只是做了一个快速检查,我们现在正在清理大多数构建的构建区域(至少是大型构建区域),但是我们已经拥有超过100Gig的构建区域,这些构建区域已经合并到了loooong之前。
谢谢你的cron例子,它应该对未来有用。
不相关:我使用Bamboo越多,我就越喜欢/讨厌它。
编辑:作为一般性评论,我会努力尝试使用SA来为catalina.out
设置/实现logrotate规则 - 用/dev/null
覆盖似乎是一个非常糟糕的主意,除非你已经把它们搞砸了像ELK或Splunk这样的东西。
我的/etc/logrotate.d/bamboo_catalina_out
看起来像(使用你的路径):
/<path_to>/bamboo/logs/catalina.out {
create 0660 bamboo bamboo
compress
copytruncate
missingok
rotate 10
size 100M
}
最后 - 你有第三个和第四个cron脚本的原因是什么?
以上是关于Bamboo build-dir过多的空间可以用cron工作清理吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 Linux CentO 上运行 Bamboo Ant 任务
PyCharm venv 失败:'没有这样的选项:--build-dir'