1、 ? ?brew安裝?
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brewinstall jenkins 命令行執(zhí)行 jenkins(確定Jenkins已經(jīng)啟動(dòng))
2、進(jìn)入 http://localhost:8080?
unlock Jenkins 然后 install suggested plugins
配置Xcode 需要在Xcode prefrerence配置Xcode路徑

配置賬號(hào)
3 、插件管理 安裝 keychains and provisioning profiles management和Xcode integration 插件
安裝后重啟Jenkins,點(diǎn)擊keychains and provisioning profiles management插件,進(jìn)行證書配置
上傳完login.kechain之后記得接著上傳profile文件
a、login.keychain的路徑: ~/Library/Keychains, 由于Jenkins不支持上傳文件后綴為 keychain-db的文件。
????我們需要做的就是
????????1、復(fù)制 keychain-db的文件 到桌面
????????2、重命名 為login.keychain
b、Code Signing Identity即為開發(fā)證書和發(fā)布證書的名稱
c、profile文件點(diǎn)擊上傳即可

4 、創(chuàng)建項(xiàng)目??
a. 配置git地址

參數(shù)化構(gòu)建 按分支來(lái)構(gòu)建,develop master bugfix對(duì)應(yīng)你git分支名,branch即為下圖的名稱,請(qǐng)務(wù)必保持一致.


b. ssh配置密鑰,配置git拉去代碼的權(quán)限

請(qǐng)選擇SSH UserName with private key 填寫用戶名、私鑰,填寫正確之后在源碼管理的Credentials會(huì)出現(xiàn).配置錯(cuò)誤選擇該配置時(shí),會(huì)出現(xiàn)紅色警告,說(shuō)沒(méi)有權(quán)限等警告.

c、構(gòu)建環(huán)境 勾選Keychains and Code Signing Identities 選擇你需要的證書

d、構(gòu)建的 Xcode配置


e、

f、配置Xcode,請(qǐng)注意Xcode Workspace File這個(gè)工程地址是在.jenkins的目錄下面.根據(jù)實(shí)際情況配置workspace或者project

g.增加構(gòu)建步驟的 execute shell 上傳蒲公英,如果報(bào)文件不存在 請(qǐng)查看文件是否導(dǎo)出成功,如果文件存在 可以在腳本加入cd至ipa的文件目錄
IPANAME="xx"
cd xx/xx/xx/
#uKey _api_key 對(duì)應(yīng)蒲公英的值?buildInstallType 2代表密碼下載34(看蒲公英官網(wǎng)) ?buildPassword下載密碼
curl -F "file=@${IPANAME}.ipa" -F "uKey=xxx" -F "_api_key=xx" -F "buildInstallType=2" -F "buildPassword=123456" https://www.pgyer.com/apiv2/app/upload
5、上傳appstore,采用腳本的方式進(jìn)行上傳,所以只需配置源碼管理和構(gòu)建環(huán)境即可.新增構(gòu)建Execute shell填入一下內(nèi)容 并修改相應(yīng)的配置
a、在Xcode11以前是采用application loader的工具命令上傳
#工程環(huán)境路徑
workspace_path=xxx
#工程名稱
project_name=xx
#scheme名稱
scheme_name=xx
#打包類型
configuration_type=Release
exportOptionPlistPath=$workspace_path/ExportOptionsPlist.plist
#ipa導(dǎo)出文件夾
exportPath=/Users/qzd/Desktop/文件導(dǎo)出/iPhone-Professional-Appstore
#工具地址 appid 開發(fā)者賬號(hào)的appid。password為上傳application loader的密碼 專屬上傳密碼
altoolPath="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool"
"$altoolPath" --validate-app -f ${exportIpaPath}/${project_name}.ipa -u appid -p password -t ios —output-format xml
"$altoolPath" --upload-app -f ${exportIpaPath}/${project_name}.ipa -u? appid -p password -t ios —output-format xml
b、在Xcode11是采用官方的上傳工具xcrun altool ?參數(shù)apikey ?apiIssuerapiIssuer在appstore connect的用戶和訪問(wèn)中的密鑰里面設(shè)置.
xcrun altool --validate-app -f ${exportIpaPath}/${project_name}.ipa -t ios --apiKey apikey --apiIssuer apiIssuer?
xcrun altool --upload-app -f ${exportIpaPath}/${project_name}.ipa -t ios? --apiKey apikey --apiIssuerapiIssuer
c、密鑰設(shè)置

此時(shí)會(huì)生成一個(gè)API密鑰,此密鑰文件只能下載一次,請(qǐng)妥善保管

命令行查看xcrun altool說(shuō)明文檔,此出需注意我們需要/Users/xxx/private_keys新建一個(gè)private_keys文件夾,并把密鑰文件放進(jìn)去. ?我們可以直接使用命令行的形式檢測(cè)是否驗(yàn)證成功. 填寫相對(duì)應(yīng)的參數(shù) xcrun altool --validate-app -f ${exportIpaPath}/${project_name}.ipa -t ios --apiKey apikey --apiIssuer?apiIssuer ?顯示如果是沒(méi)有錯(cuò)誤No errors即代表成功.
