一搓译、安裝Jenkins
a. 在Jenkins官網(wǎng)下載安裝包(.pkg
文件)直接安裝。這樣安裝會將Jenkins
安裝到/Users/Shared
目錄里面锋喜。
b. 使用Homebrew安裝Jenkins之后些己,每次都必須保持終端運行才能打開Jenkins,比較麻煩嘿般。解決辦法:
// 鏈接 launchd 配置文件
ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
// 修改完后段标,在終端執(zhí)行
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
注意:可以更改此 plist 來進行一些自定義的配置,詳細列表可以參考
如果要其他機器也可以訪問炉奴,把 plist 里的
<string>--httpListenAddress=127.0.0.1</string>
刪掉即可
二逼庞、使用Jenkins
- 安裝完成后,Safari可能會自動打開瞻赶,如果沒有自動打開赛糟,打開瀏覽器,輸入http://localhost:8080
- 找到初始密碼砸逊,登陸修改密碼創(chuàng)建新用戶
根據(jù)提示璧南,找到/Users/Shared/Jenkins/Home/ 這個目錄,找到secrets文件师逸,顯示簡介司倚,設(shè)置所有人都可以讀與寫的權(quán)限,并找到initialAdminPassword文件篓像,同樣放開權(quán)限动知,復(fù)制出密碼,登錄進去遗淳,一路安裝過來拍柒,輸入用戶名、密碼屈暗、郵件等拆讯。最后點擊Save and Finish。
注意:
如果安裝之后發(fā)現(xiàn)密碼忘記了养叛,從initialAdminPassword文件中復(fù)制輸入也錯誤种呐,試了很多方法也不管用,那就卸載重裝Jenkis然后重啟電腦吧弃甥。
- 安裝相應(yīng)的插件(
Keychains and Provisioning Profiles Management
和Xcode integration
) - 新建任務(wù)爽室,配置任務(wù)
- 將/Users/用戶名/Library的MobileDevice文件夾拷貝到/Users/Shared/Jenkins/Library下
注意:
是將MobileDevice這個文件夾拷貝過去,而不是MobileDevice里的文件淆攻,/Users/Shared/Jenkins/Library 目錄下是沒有MobileDevice這個文件夾阔墩,所以先創(chuàng)建一個MobileDevice文件夾嘿架。
在終端輸入:
sudo mkdir /Users/Shared/Jenkins/Library/MobileDevice
sudo cp -r /Users/xxx/Library/MobileDevice/ /Users/Shared/Jenkins/Library/MobileDevice/
- 將/Users/用戶名/Library/Keychains/下的login.keychain及l(fā)ogin.keychain-db這兩個文件拷貝到/Users/Shared/Jenkins/Library/Keychains文件夾下面
注意:
Mac OS 10.12以下的沒有l(wèi)ogin.keychain-db這個文件,只需要拷貝login.keychain文件啸箫。
在終端輸入:
cd /Users/Shared/Jenkins/Library/
sudo mkdir Keychains
sudo cp /Users/xxx/Library/Keychains/login.keychain ./Keychains/
sudo cp /Users/xxx/Library/Keychains/login.keychain-db ./Keychains/
再將這個login.keychain拷貝到桌面上
在終端輸入:
sudo cp /Users/jiekangwei/Library/Keychains/login.keychain ~/Desktop/
注意:
如果/Users/xxx/Library/Keychains/目錄下沒有l(wèi)ogin.keychain這個文件耸彪,就復(fù)制login.keychain-db文件到指定目錄,然后將復(fù)制在桌面上的該文件改后綴為.keychain忘苛。
-
鑰匙串權(quán)限蝉娜、~/Library權(quán)限以及電腦用戶管理權(quán)限
7.1 打開鑰匙串,找到相應(yīng)的證書扎唾,右鍵密鑰顯示簡介召川,在訪問控制那一項里勾選允許所有應(yīng)用程序訪問此項目,并存儲更改胸遇。
7.2 找到Library資源庫文件夾荧呐,設(shè)置共享與訪問權(quán)限,everyone讀與寫都可以
進入mac系統(tǒng)偏好設(shè)置 — 用戶與群組 — 其他用戶 — jenkins 纸镊,勾選允許用戶管理這臺電腦坛增,并右鍵選擇高級選項,將名字改為jenkins
二薄腻、注意事項:
- 打包成功后得到的ipa包不能安裝收捣,問題原因:沒有安裝權(quán)限(ipa包在Jenkins用戶下),把改ipa包拖到桌面庵楷,即可安裝罢艾。
- 證書不匹配,描述文件不匹配尽纽,問題原因:證書在登陸選項下咐蚯,打開
keychain
,在登陸選項里面把打包使用的開發(fā)和發(fā)布證書copy
到系統(tǒng)下弄贿。 - 每次選擇
Keychains and Code Signing Identities
的時候春锋,下面的Code Signing Identity
沒有選項,首先打開Keychains and Code Signing Identities
選項差凹,然后保存期奔,返回,在進入配置危尿,選項就出現(xiàn)了呐萌。 - 使用
shell
腳本打包的時候,記得在xcodebuild archive
最后面加上-allowProvisioningUpdates
- 使用ssh配置git谊娇,重新生成rsa文件肺孤,在git項目里面使用公鑰,在Jenkins配置里面使用私鑰。
- 使用
shell
腳本打包的時候赠堵,要修改項目配置路徑在最前面使用cd
命令小渊,使用Xcode
配置打包的時候,在Advanced Xcode build options
里面修改Xcode Workspace File
把xxx.xcworkspace
文件直接拖進去茫叭,去掉后綴粤铭。然后在General build settings
里面的Xcode Schema File
輸入工程名。 -
Pods
文件夾沒有權(quán)限杂靶,/Users/xxx/workspace/xxxx/Pods/Target Support Files/Pods-xxxx/Pods-xxxx-resources.sh: line 7: /Users/xxx/workspace/xxxx/Pods/resources-to-copy-DiscoverPanjin.txt: Permission denied,解決:在終端打開項目目錄并輸入 sudo chmod 777 Pods - 如果報錯如下
=== BUILD TARGET YQDaiYunYing OF PROJECT YQDaiYunYing WITH CONFIGURATION Release ===
Check dependencies
Code Signing Error: There are no accounts registered with Xcode. Add your developer account to Xcode
Code Signing Error: No profiles for 'com.yqjr.shiyue11' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.yqjr.shiyue11'.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.0'
** ARCHIVE FAILED **
解決:
檢查描述文件的存放地址酱鸭,除了上傳的地址在Home/kpp_upload
以外吗垮,要手動把/Users/用戶名/Library/MobileDevice/Provisioning Profiles
里面的描述文件拷貝到/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles
里面,注意不要私自改變路徑凹髓,否則會失斔傅恰!N狄ā饵沧!
- 如果一直ARCHIVE成功,但是Export失敗赌躺,報錯
error: exportArchive: There are no accounts registered with Xcode.
Error Domain=IDEProvisioningErrorDomain Code=23 "There are no accounts registered with Xcode." UserInfo={NSLocalizedDescription=There are no accounts registered with Xcode., NSLocalizedRecoverySuggestion=Add your developer account to Xcode}
error: exportArchive: No profiles for 'com.xxx.xxx' were found
Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'cn.woyoou.kmd' were found" UserInfo={NSLocalizedDescription=No profiles for 'com.xxx.xxx' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS Ad Hoc provisioning profiles matching 'com.xxx.xxx'.}
解決:
拷貝到/Users/Shared/Jenkins/Library/Keychains
文件夾下面的登陸keychains有問題狼牺。login.keychain-db
改名后拷貝。如果這樣沒有解決礼患,就重新把~/Library/MobileDevice
文件夾拷貝到/Users/Shared/Jenkins/Library
是钥。