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 退出