您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?
Posted
技术标签:
【中文标题】您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?【英文标题】:How do you configure Xcode Server (Bot) to only keep the n most recent integrations? 【发布时间】:2015-12-08 18:14:22 【问题描述】:我们最近发现 Xcode Server(即机器人)将保留所有过去的集成。 (我们在构建开始失败时发现了这一点,并且我们意识到 CI 服务器的磁盘空间完全不足)。
如何配置机器人(或一般的服务器)只保留最后的 n
集成?甚至是最后的n
天?
如果没有内置设置,有没有办法通过cron
作业来完成此操作,而不必必须使用unofficial XCode Server API?
【问题讨论】:
【参考方案1】:当前最大磁盘大小是容量的 0.75 的比率(如果我对输出了解得很好)。如果您运行curl -k -u USER:PASS https://localhost:20343/api/settings
,您可以自己查看。您可以通过将此 API 调用为 PATCH
请求并将 max_percent_disk_usage
的修改值更改为更小的值,然后给它时间进行清理来更改它。不过我还没有测试过。
如果您对它的工作原理感兴趣,请参阅/Applications/Xcode.app/Contents/Developer/usr/share/xcs/xcsd/routes/routes_setting.js
第 19 行。从那里您应该能够更深入地挖掘并亲自查看。
希望这会有所帮助。
【讨论】:
【参考方案2】:这很有帮助,@czechboy!
获取设置时返回的 JSON 文档将包含您要修改其设置的 xcode 实例的 _id
,并且您必须将 PATCH
请求发送到 https://localhost:20343/api/settings/<id>
。请求的正文应该是这样的:
"set_props": "max_percent_disk_usage": 0.40
完成此操作后,我需要在清理旧文件之前重新启动服务器。
【讨论】:
这是一个老问题,但在这里,当我尝试调用补丁时,我得到一个 403“无法登录,因为需要有效的客户端证书但没有提供”有什么想法吗?以上是关于您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?的主要内容,如果未能解决你的问题,请参考以下文章