n8t*_*8tr 11 continuous-integration ios cocoapods crashlytics twitter-fabric
作为cocoapod的Crashlytics正在破坏我们的CI系统.基本上我们有一个Rakefile来运行一些任务来进行pod更新,构建我们的应用程序,并运行测试等.但是,我们最近切换到Fabric&Crashlytics作为cocoapods.现在,我们的自动化构建失败,在pod更新阶段出现以下错误:
[!] Error installing Crashlytics
[!] /usr/bin/curl -f -L -o /var/folders/fx/hfsy48h13839_jm5wmkp5mx00000gn/T/d20151009-74266-1p34ehf/file.zip https://kit-downloads.fabric.io/ios/com.twitter.crashlytics.ios/3.3.4/com.twitter.crashlytics.ios-default.zip --create-dirs
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: kit-downloads.fabric.io
Update all pods
Analyzing dependencies
Run Code Online (Sandbox Code Playgroud)
由于Crashlytics无法安装,因此未生成工作空间.我相信发生了两个问题:1.Crashlytics pod正在尝试下载并写入一个系统文件,该文件在脚本文件中运行该命令时无权写入(我们不希望用as运行脚本) Sudos)2.那个终点实际上有点不稳定.
如果我在终端中手动运行该curl命令,它会在大部分时间内成功并下载该文件.但是,有时curl命令确实无法解析主机.然而,我有两个虚拟机可以成功运行该curl命令,而无需执行sudo usr/bin/curl/...但我们的一个VM(这是另一个的确切克隆)确实需要sudo usr/bin/curl. ..获取该文件夹的写入权限.
如果我在Rakefile中运行那个curl命令,我得到这个:$ rake你没有权限创建/ var/folders/fx.
所以再次,我认为问题是尝试从Rakefile进行pod更新会导致文件写入权限问题,因为Crashlytics试图将文件下载到系统/ var /文件夹,这是不允许的.此外,该端点可能也是不稳定的,并且无法解析主机.
所以基本上解决方法是在我们的CI机器上的终端中手动运行该curl命令,以便下载和安装.现在任何未来的pod更新都可以工作,因为我们保持同样的CRASHLYTICS版本.所以现在,我们冻结了我们在3.3.4上的Crashlytics安装.
任何人遇到类似的问题,对他们的想法发生了什么建议,或者对如何解决这个问题有更好的建议?
小智 5
我的解决方案是删除Pods存储库中的目录(rm -rf Pods).这样,所有的pod都被移除了,甚至Crashlytics.之后,a pod install可以成功运行.我现在安装了Crashlytics 3.8.6.
| 归档时间: |
|
| 查看次数: |
3286 次 |
| 最近记录: |