我们最近发现 Xcode Server(即 Bot)将保留所有过去的集成。(我们在构建开始失败时发现了这一点,并且我们意识到 CI 服务器完全没有磁盘空间)。
您如何配置机器人(或一般的服务器)以仅保留最后的n集成?甚至是最后n几天?
如果没有内置设置,有没有办法通过不必使用非官方 XCode Server APIcron的工作来完成此操作?
我们最近发现 Xcode Server(即 Bot)将保留所有过去的集成。(我们在构建开始失败时发现了这一点,并且我们意识到 CI 服务器完全没有磁盘空间)。
您如何配置机器人(或一般的服务器)以仅保留最后的n集成?甚至是最后n几天?
如果没有内置设置,有没有办法通过不必使用非官方 XCode Server APIcron的工作来完成此操作?
当前的最大磁盘大小是容量的 0.75 的比率(如果我很好地理解了输出)。如果您运行,您可以自己看到它curl -k -u USER:PASS https://localhost:20343/api/settings。您可以通过将此 API 作为PATCH请求调用此 API 并将其更改为max_percent_disk_usage较小的值,然后给它时间进行清理来更改它。但是,我还没有测试过。
如果您对它的工作原理感兴趣,请参阅/Applications/Xcode.app/Contents/Developer/usr/share/xcs/xcsd/routes/routes_setting.js第 19 行。从那里您应该能够更深入地挖掘并亲自查看。
希望这可以帮助。
这非常有帮助,@czechboy!
获取设置时返回的 JSON 文档将包含_id您希望修改其设置的 xcode 实例,您必须将PATCH请求发送到https://localhost:20343/api/settings/<id>. 请求的主体应该是这样的:
{ "set_props": { "max_percent_disk_usage": 0.40 } }
完成此操作后,我需要在清理旧文件之前重新启动服务器。