您如何配置 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 个最近的集成?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Server Bot 自动化 Git 拉取

Xcode 9 server/bot release build 未使用分发/生产配置文件进行签名(使用自动代码签名)

xcode server bot存档导出方法

如何从 xcode bot 生成 .ipa?

更改 Xcode Server Bot 的源代码控制凭据?

Xcode 测试后不退出