真机相关iOS开发技术环境集成

Jenkins集成的问题

2017-04-06  本文已影响2114人  yuandiLiao

总结一些配置Jenkins的坑

如何配置Jenkins可以看我上一篇http://www.jianshu.com/p/c7b951b9b4f2

首先到输出日志里面,commmand+f搜索error或者fail,可以看到那里构建出错了。基本都是在日志的最后面。

1.构建的工程路径出错

.xcodebuild: error: '.XXXXXX.xcworkspace' does not exist.

解决方法当然是到配置里面,改好正确的路径啦,记得路径后面不要带.xcworkspace

WechatIMG1.jpeg

2.构建targets路径出错

xcodebuild: error: You cannot specify targets with a workspace.
xcodebuild: error: If you specify a workspace then you must also specify a scheme.  Use -list to see the schemes in this workspace.

解决方案看图

WechatIMG2.jpeg WechatIMG3.jpeg WechatIMG5.jpeg

3.找不到schemes的错误

There are no schemes in workspace "XXX".

选择manage schemes,然后把里面schemes的show和share都勾上,关闭提交代码。


WechatIMG6.jpeg WechatIMG7.jpeg

4.创建输出路径出错

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't create output file: /Users/yuandiLiao/Desktop/ipa/libFMDB.a (Permission denied)

出现这个问题是我配置的时候.ipa输出路径是在桌面创建了文件夹,但是每次构建都失败,最后我只能是输出在工作区了。
输出Build output directory和Output directory还是都填 ${WORKSPACE}/build/ 吧。

5.证书没导入导致xcode找不到配置文件

No profiles for 'XXXX' were found:  Xcode couldn't find a provisioning profile matching 'XXXX'.
Code signing is required for product type 'Application' in SDK 'iOS 10.2'


No profile matching 'XXXXX' found:  Xcode couldn't find a profile matching 'XXXXX'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.2'

这个问题很坑,在这里搞了挺久的,因为没有~/Library/MobileDevice/的整个文件夹Provisioning Profiles拷贝到/Users/Shared/Jenkins/Library/MobileDevice下面(没有MobileDevice文件夹就创建一个)。
论坛也有大神说是因为xcode8自动管理证书的问题,用shell命令解决的,具体的可以去搜搜看,但是我用的也是xcode8,配置好证书后就没有这个问题了。具体的可以看我上一篇博客

6. pod: command not found

使用cocoapods管理工程,需要执行pod install 时可能会出现这个错误。打开终端输入 $PATH 注意这个path要大写,如下得到path,然后打开Jenkins ->系统管理->系统设置->全局属性->Environment variables -> 键值对列表中设置


WechatIMG19.jpeg WechatIMG20.jpeg

7. Unable to find a specification for 执行cocoapods时找不到库文件

首先cd到项目目录先,然后执行以下两个命令,把目录clear以下就行了

pod repo remove master  
pod setup 

8.安装fir-cli出错,没有权限

gem install fir-cli

直接执行安装的话会被拒绝

sudo gem install fir-cli

在前面加上sudo,然后会需要输入密码安装
有可能还会报以下问题

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/restclient

权限被拒绝

解决方案一

sudo gem install -n /usr/local/bin fir-cli --no-ri --no-rdoc

解决方案二,执行以下两个命令,安装Homebrew 和ruby,

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ruby

最后安装fir-cli应该就可以了

sudo gem install fir-cli

安装成功后可是登陆

fir login

上传

fir publish /Users/liaoyuandi/Desktop/zhiboji.ipa 

9分享一个shell命令打包需要的plist文件,

(链接: https://pan.baidu.com/s/1bIaZYu 密码: 7knj)

10.上传fir时遇到的问题 Can not found mapping or dysm file in

found remote files : **/mapping.txt found remote files :
/var/lib/jenkins/workspace/testandroid ERROR: Can not found
mapping or dysm file in /var/lib/jenkins/workspace/testandroid.
Deployment failed : Error while get details for update id
com.zftlive.android Build step 'Upload to fir.im' marked build as
failure

这个问题是fir的新版插件的问题,本来是默认不用上传dysm file文件的,但是新版fir插件应该是默认了要上传,所以导致了找不到这个文件报错。换回之前旧版本的fir插件就行了,分享一个旧版本的fir插件地址吧(链接: https://pan.baidu.com/s/1bptne39 密码: 6xsy)

11. The SDK directory '/Users/liaoyuandi/Library/Android/sdk' does not exist.

用Jenkins打包安卓时,可能会报SDK找不到。

1.检查你的 系统管理-> 系统设置 ->全局属性里面的键值对
件的名称一定是要ANDROID_HOME ,值是你的android SDK的绝对路径是否配置了。如果已经配置好了还是报这个问题的话,需要对该路径chmod一下

2.对android sdk路劲执行

chmod -R 777 +路径
或者(可能没有权限)
sudo chmod -R 777 +路径

如果还不行就对SDK的上级目录执行,一直chmod上去就可以了

上一篇下一篇

猜你喜欢

热点阅读