Xcode Bots 缺乏创建 Pods 目录的写权限。

Posted

技术标签:

【中文标题】Xcode Bots 缺乏创建 Pods 目录的写权限。【英文标题】:Xcode Bots lacks write permission to create Pods directory. 【发布时间】:2015-01-29 18:06:25 【问题描述】:

我按照ios document 设置了一个 Xcode6 服务器和机器人。

机器人使用提供的用户名和密码连接到 Bitbucket git。我在同步最新代码时没有任何问题。

然后我为“集成前”设置以下触发脚本,如下所示:

cd /Users/seagull/workspace/develop ---> 源码根

吊舱安装

然后这会失败并显示错误消息,例如 _xcsbuildd 在日志的触发器部分中没有对“mkdir Pods”的写入权限:

我想 xcode bot 正在使用 linux 用户 _xcsbuildd(即 xcode bot)。但是,由于代码是用当前用户签出的,_xcsbuildd 没有写入权限来创建“Pods”目录或“Podfile.lock”或在项目文件夹中添加 Pods.xcproject 文件。

我还使用 'chmod' 授予所有用户对所有文件夹的写入权限,但 Xcode 生气说我不应该解锁写入权限。我应该如何解决这个权限问题?无论如何我可以强制 xcode bot 充当当前用户吗?不是_xcsbuildd? (我通过在触发脚本中添加 'whoami' 进行测试,将 _xcsbuildd 标识为当前用户)。

【问题讨论】:

你有没有想过这个问题?我正在处理一个类似的问题,试图在“集成后”触发脚本中运行葫芦自动化测试并获得类似的权限问题。 不,我放弃并开始使用 Jenkins。我猜 XCode Server 还没有准备好迎接黄金时段。 同样的问题在这里!对于每个命令,我都在寻找 _xcsbuildd 用户,但我无法在“passwd”中找到该用户,仍在寻找解决方案 【参考方案1】:

然后我为“集成前”设置了以下触发脚本 像下面这样:

cd /Users/seagull/workspace/develop ---> 源码根

吊舱安装

您的源根目录将由 _xcsbuildd 创建并位于 /Library/Developer/XcodeServer/Integrations/Caches/integrationID/Source/repo name

您的机器人将位于 Source 文件夹中,因此如果您有一个名为“myApp”的存储库,其中 Podfile 位于第一级:

cd myApp
pod install

这是对 Bots 的 CI 变量的引用-Access build folder in Xcode Server CI bot run (env variables?)

【讨论】:

您在初始设置期间是否需要做任何特别的事情,以便 _xcsbuildd 用户可以访问“pod”命令?您何时以及如何运行初始“pod setup”命令?那时我遇到了错误【参考方案2】:

我想我和你有同样的问题。我刚刚使用 Xcode 7。在此处查看我的问题/答案,我链接到我遵循的教程和我的问题的解决方案:Xcode CI and cocoapods private repo

【讨论】:

以上是关于Xcode Bots 缺乏创建 Pods 目录的写权限。的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Bots:: 创建存档失败:xcodebuild 以状态 65 退出

xcode bots 编辑失败

Xcode Bots Server 持续集成失败

Xcode Server Bots 未运行测试

Xcode Bots 从单个 Xcode 服务器在多个 iOS 项目上运行 UITesting

Xcode Bots 配置文件的位置