![如何控制 Bamboo 的磁盘使用情况?](https://linux22.com/image/559390/%E5%A6%82%E4%BD%95%E6%8E%A7%E5%88%B6%20Bamboo%20%E7%9A%84%E7%A3%81%E7%9B%98%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%EF%BC%9F.png)
场景如下:
我们的源代码在 Github 上。
我们在工作的地方的 Linux 服务器上运行 Bamboo(目前为 2.7.3)。
我们有几个构建任务外包给远程代理(例如,构建 iPhone 软件)。在远程代理上,Bamboo 从 Github 克隆源代码,进行构建,然后将工件上传到服务器。这完全符合我们的期望。
问题是,Bamboo 服务器似乎也在检查 git 存储库,并且它对我们拥有的每个构建计划都这样做。这些检查占用了很大一部分磁盘空间,而且我看不出有任何方法可以禁用它们。
有任何想法吗?
答案1
如果您不需要在主 Bamboo 服务器上运行任何作业,则可以禁用默认本地代理。参见 Bamboo 文档。
答案2
在第一次运行计划时,Bamboo 会执行完整克隆并将数据存储在本地缓存目录中,然后完成构建。在后续构建中,Bamboo 会从远程存储库执行 git fetch 以查看是否有其他更改,如果有,则更新本地缓存。与第一次运行类似,计划的数据随后会从本地缓存中检出。因此,检出速度更快。
如果要求从代理中删除 git 存储库,并在每次构建时重新克隆,则只需启用“强制清理构建”在您的计划中,源代码检出任务中选择该选项。
如果你的需求是节省磁盘空间,启用“每次构建后清理工作目录”计划配置中的选项。此选项会增加构建时间,尤其是当您拥有大型 Git 存储库时,但绝对可以节省磁盘空间。
您可能还有兴趣对此功能请求进行投票 -BAM-13589。希望这能解释清楚。
本文解释存储的 Git 缓存如何加速构建。