答案 0 :(得分:5)
据我所知,只能逐个删除集成。您可以首先获取机器人列表(GET /api/bots
),找到机器人_id
(让我们称之为BOT_ID
),然后获取其集成列表({{1})。并且只收集它们的ID和转速。
然后,您可以迭代并调用每个集成GET /api/bots/BOT_ID/integrations
。
您调用这些API的方式如下: DELETE /api/integrations/INTEGRATION_ID/REV_ID
,所以要让所有机器人都运行curl -k -u USER:PASS https://localhost:20343/api/...
在此文件中查看您自己的更多详细信息:/Applications/Xcode.app/Contents/Developer/usr/share/xcs/xcsd/routes/routes_integration.js
如果您想了解有关XCS内部的更多信息,我构建了一个Swift SDK:https://github.com/czechboy0/XcodeServerSDK并在http://honzadvorsky.com/articles/2015-05-04-under-the-hood-of-xcode-server/
中撰写了关于内部的内容答案 1 :(得分:1)
我的磁盘空间也用完了问题。我最初认为集成是责备并且手动删除了大部分集成,但回收的磁盘空间并不重要。 有人会认为删除所有集成应该将磁盘空间回收到某一点,就好像没有运行任何集成一样。但删除集成后没有发生这种情况。 然后根据从Honza的博客( czechboy 上面的评论)中获得的想法查看Xcode Server内部结构,我发现了占用的磁盘空间
/ Library / Developer / XcodeServer / Integration / Caches 是罪魁祸首。
删除它我能够回收整个磁盘空间,好像没有在Xcode Server上运行任何集成。 当您运行机器人并添加新机器人时,其中的文件夹将重新创建。但是删除机器人似乎不会删除相应的缓存文件夹。 在我们的例子中,我们为任何需要构建的分支创建机器人。随着时间的推移,该文件夹最终会占用最大的磁盘空间。
我们当前的解决方案
截至目前,两者都是手动运行的。稍后我们可能会按照每两周一次的时间表运行它。
Honza 在拆分Xcode Server方面做得很好。在我设置时,他的博客是最有用的阅读。请务必完整阅读他的博客。它是苹果开发团队在Xcode Server上所期望的那种技术信息,但苹果公司缺乏文档的情况正在下滑。