使用 Jenkins 持續(xù)集成 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.如圖配置開發(fā)證書:
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 - 【系統(tǒng)管理】 - 【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

執(zhí)行自動上傳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 環(huán)境變量導致的嵌削。正確設置的方法為:

  • 1.在命令行下執(zhí)行 echo $PATH毛好,記錄下輸出的結果
  • 2.在 jenkins 中系統(tǒng)管理-系統(tǒng)設置中,找到 環(huán)境變量(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 時艇劫,執(zhí)行 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 語句將控制臺語言環(huán)境設置為 UTF-8 格式吼驶,避免出現(xiàn) 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多次

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蟹演,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子顷蟀,更是在濱河造成了極大的恐慌酒请,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衩椒,死亡現(xiàn)場離奇詭異蚌父,居然都是意外死亡,警方通過查閱死者的電腦和手機毛萌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喝滞,“玉大人阁将,你說我怎么就攤上這事∮以猓” “怎么了做盅?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵缤削,是天一觀的道長。 經常有香客問我吹榴,道長亭敢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任图筹,我火速辦了婚禮帅刀,結果婚禮上,老公的妹妹穿的比我還像新娘远剩。我一直安慰自己扣溺,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布瓜晤。 她就那樣靜靜地躺著锥余,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痢掠。 梳的紋絲不亂的頭發(fā)上驱犹,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音足画,去河邊找鬼雄驹。 笑死,一個胖子當著我的面吹牛锌云,可吹牛的內容都是我干的荠医。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼桑涎,長吁一口氣:“原來是場噩夢啊……” “哼彬向!你這毒婦竟也來了?” 一聲冷哼從身側響起攻冷,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤娃胆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后等曼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體里烦,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年禁谦,在試婚紗的時候發(fā)現(xiàn)自己被綠了胁黑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡州泊,死狀恐怖丧蘸,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情遥皂,我是刑警寧澤力喷,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布刽漂,位于F島的核電站,受9級特大地震影響弟孟,放射性物質發(fā)生泄漏贝咙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一拂募、第九天 我趴在偏房一處隱蔽的房頂上張望庭猩。 院中可真熱鬧,春花似錦没讲、人聲如沸眯娱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽徙缴。三九已至,卻和暖如春嘁信,著一層夾襖步出監(jiān)牢的瞬間于样,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工潘靖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留穿剖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓卦溢,卻偏偏與公主長得像糊余,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子单寂,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容