使用 Jenkins 持续集成 iOS 项目时碰到的一些问题

学习 Jenkins 时遇到很多的坑。。。把这些问题记录下来,避免再犯。

Q1

No iOS profile matching '8xxxxxx3@qq.com/yoxxxhu_Distribution' found:  Xcode couldn't find a profile 
matching '8xxxxxx3@qq.com/yoxxxhu_Distribution'. 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.3'

A1

  • 1.用 Xcode 打开 iOS 项目,在 【TARGETS】 - 【General】 中不勾选Automatically manage signing
  • 2.如图配置开发证书:
WX20170602-174826@2x.png
WX20170602-174713@2x.png
  • 3.配置完证书之后,需提交代码到 Git 远程仓库,确保 Jenkins 构建时能获取最新的证书配置

还要确保已经将 /Users/管理员用户名/LibraryMobileDevice 文件夹拷贝到了 /Users/Shared/Jenkins/Library 下面


Q2

FATAL: No global development team or local team ID was configured.

A2

  • Team ID 在这里填写,如图:
WX20170602-181236.png

Team ID 应填写这串字符,如图:

WX20170602-181556@2x.png

Q3


error: exportArchive: No valid iOS Development signing identities belonging to team CxxxxxxxxF were found.

Error Domain=IDEDistributionErrorDomain Code=1 "No valid iOS Development signing identities 
belonging to team CxxxxxxxxF were found." 
UserInfo={NSLocalizedDescription=No valid iOS Development signing identities 
belonging to team CxxxxxxxxF were found.}

A3

  • 1.在 Jenkins - 【系统管理】 - 【Keychains and Provisioning Profiles Management】中重新上传 login.keychain :
WX20170605-103630@2x.png
  • 2.填写 Code Signing Identity :
WX20170605-104534@2x.png
  • 3.重新上传 mobileprovision 文件并填写 Provisioning Profiles Directory Path :
WX20170605-103525@2x.png
  • 4.点击 Save 按钮

Password 是 Mac 开机时输入的密码

  • 5.重新配置项目,如图:
WX20170605-105813@2x.png
WX20170605-105837@2x.png
WX20170605-105928@2x.png
WX20170605-105955@2x.png

Q4

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

A4

/Users/管理员用户名/LibraryMobileDevice 文件夹拷贝到 /Users/Shared/Jenkins/Library 下面


Q5

执行自动上传IPA到蒲公英的脚本时出错 fastlane: command not found

[H20170531_OCUnit] $ /bin/sh -xe /var/folders/9d/jrxjl4_14tj1w33z34jkrxjm0000gn/T/hudson4176251309376324428.sh
+ IPANAME=H20170531_OCUnit
+ fastlane gym --export_method ad-hoc --output_name H20170531_OCUnit
/var/folders/9d/jrxjl4_14tj1w33z34jkrxjm0000gn/T/hudson4176251309376324428.sh: 
line 3: fastlane: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

A5

蒲公英 - 文档中心的解答:

这个情况一般是由于 jenkins 没有设置正确的 $PATH 环境变量导致的。正确设置的方法为:

  • 1.在命令行下执行 echo $PATH,记录下输出的结果
  • 2.在 jenkins 中系统管理-系统设置中,找到 环境变量(Environment variables)
  • 3.在 key 中填写 $PATH,在 value 中填写第一步中输出的结果
  • 4.保存即可

蒲公英 - 文档中心链接: https://www.pgyer.com/doc/view/jenkins_ios

  • 但是我按照蒲公英的方法操作之后,还是报这个错误 fastlane: command not found
  • 待解决 ...

Q6

Check dependencies
The file “Pods-Swarm_swift.release.xcconfig” couldn’t be opened because there is no such file.
 (/Users/HW/.jenkins/workspace/SWARM/Pods/Target Support Files/Pods-Swarm_swift/Pods-Swarm_swift.release.xcconfig)

------

diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. 
Run 'pod install' or update your CocoaPods installation.

** ARCHIVE FAILED **

The following build commands failed:
    PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock /Users/HW/Library/Developer/Xcode/
DerivedData/Swarm_swift-gttgnsxyltckdlfnjucunmsdhnyx/Build/Intermediates/ArchiveIntermediates/
Swarm_swift/IntermediateBuildFilesPath/Swarm_swift.build/Release-iphoneos/Swarm_swift.build/
Script-E66BF0AC51C3B26C2CF625AA.sh

A6

  • 在构建中添加 pod install 脚本:
#!/bin/bash -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
pod install --verbose --no-repo-update

此 shell 脚本要放在 Xcode 之前,如图:

WX20170605-170913.png

Q7

iOS 项目使用了 Cocoapods 时,执行 pod install 脚本报错:pod: command not found

+ pod install --verbose --no-repo-update
/var/folders/9d/jrxjl4_14tj1w33z34jkrxjm0000gn/T/hudson943803671821413828.sh: line 5: 
pod: command not found
Build step 'Execute shell' marked build as failure

A7

修改 shell 脚本如下:

#!/bin/bash -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
pod install --verbose --no-repo-update

export 语句将控制台语言环境设置为 UTF-8 格式,避免出现 Podfile 文件打开错误。


Q8

ERROR: Timeout after 10 minutes
ERROR: Error cloning remote repo 'origin'

A8

如图:

WX20170605-173713@2x.png

Q9

FATAL: Failed to copy /Users/Shared/Jenkins/Home/kpp_upload/SWARM_Development.mobileprovision to
/Users/HW/Library/MobileDevice/Provisioning Profiles/54xxxxxxxxxxd4.mobileprovision

java.io.FileNotFoundException: 
/Users/HW/Library/MobileDevice/Provisioning Profiles/54xxxxxxxxxxd4.mobileprovision 

A9

  • 开放 /Users/HW/Library/MobileDevice/Provisioning\ Profiles 文件夹的读写权限
WX20170606-151737@2x.png

研究 Jenkins 大约 3天,构建项目失败了40多次

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容