1. iOS編譯簽名文件找不到
Check dependencies
Code Sign error: No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “75025357-245d-448b-9343-96148a0xxxxx”, however, no such provisioning profile was found.
原因是jenkins以jenkins用戶身份運行,iOS項目編譯用的簽名文件要從安裝證書時的用戶目錄
~/Library/MobileDevice/Provisioning\ Profiles/75025357-245d-448b-9343-96148a0xxxxx.mobileprovision
拷貝到
/Users/Shared/Jenkins/Library/MobileDevice/Provisioning\ Profiles/75025357-245d-448b-9343-96148a0xxxxx.mobileprovision
2. iOS編譯證書找不到
Check dependencies
Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings
(“testxxxxx_Distribution_inhouse_01”) were found.
沒找到證書蛛壳,打開“鑰匙串訪問”,從“登錄”拷貝安裝的證書到“系統(tǒng)”下
3.User interaction is not allowed.
Signing Identity: "iPhone Distribution: ****************** Co., Ltd."
Provisioning Profile: "************"
(************-****-****-****-************)
/usr/bin/codesign --force --sign ************************************ --entitlements /Users/Shared/Jenkins/Home/workspace/****/build/**************.build/Release-iphoneos/*************.build/****.***.****--timestamp=none /Users/Shared/Jenkins/Home/workspace/********/build/Release-iphoneos/****.app
/Users/Shared/Jenkins/Home/workspace/*****/build/Release-iphoneos/****.app: User interaction is not allowed.
Command /usr/bin/codesign failed with exit code 1?[0m?[2m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━?[0m
?[1m?[31m** BUILD FAILED **?[0m ?[2m(89065 ms)?[0m
Build step 'Execute shell' marked build as failure
Finished: FAILURE
拷貝~/Library/Keychains/login.keychain到
Users/Shared/Jenkins/Library/Keychains/login.keychain
在jenkins執(zhí)行編譯的腳本中加入命令解鎖jenkins的鑰匙串
/usr/bin/security unlock-keychain -p pwd ~/Library/Keychains/login.keychain
(執(zhí)行一次后可將這行代碼刪除)
4. ssh連接git問題
jenkins連接gitlab需要ssh key
通過命令 ssh-keygen -t rsa -C "xxx@xxx"
生成key
將公鑰(~/.ssh/id_rsa.pub)內(nèi)容拷貝到gitlab-profile setting的SSH KEYS字段
jenkins連接需要私鑰(~/.ssh/id_rsa)衙荐,有兩個地方可以添加
a.jenkins用戶的Private Key字段(在項目配置-源碼管理-Credentials-add中選擇SSH Username with private key
b.或者在全局菜單Credentials-Global credentials (unrestricted)中進行管理)