jenkins + git + iOS + 蒲公英自動化構建(mac 本地版)

一、 通過homebrew安裝Jenkins

注:因為公司所有的開發都是在mac上開發的,所以這里不對其它系統的jenkins安裝方法進行描述,如果沒有安裝homebrew,可以參照下邊鏈接進行安裝:
hombrew官方網站: https://brew.sh/index_zh-tw.html
終端運行如下命令安裝Jenkins:

$ brew install jenkins

安裝成功之后在終端啟動jenkins:

$ jenkins

等待jenkins啟動完成之后,就可以在瀏覽器中輸入localhost:8080來訪問jenkins服務器:


1756338-3e1a919c12458463.png

打開之后會調到下邊的界面:


1756338-93aff712dd844486.png

選擇之后會安裝一下jenkins插件:
1756338-665678985594ad4c.png

等待插件安裝完成,則會出現登錄界面:


1756338-3505709f987f8b31.png

創建用戶并登錄之后,會進入到jenkins管理頁面,接下來就是我們項目的配置設置了。
注:這里因為本人mac已經安裝過了jenkins所以無法截圖,所以截圖是借用https://blog.csdn.net/u011537073/article/details/80025716博客的圖,如果侵權請留言,我會刪除替換圖片。

二、 iOS項目的配置

1、安裝插件

我們可以在jenkins管理頁面的:系統管理->管理插件->可選插件


739679DD-9D65-4AFD-B09F-79FD046E7655.png

我們需要安裝的插件:
Keychains and Provisioning Profiles Management
Keychain和描述文件的插件(需要先安裝才能上傳.keychain文件和描述文件)

注:因為本人只是iOS開發,所以說到的插件只是iOS需要的一些插件,至于其它語言需要的插件請自行google或者百度
2、創建并配置項目

在jenkins首頁點擊“ 新建任務 ” 進入到創建項目界面:
DE81BA60-F6D4-45F4-A2F9-1E1E422F0942.png

創建完成之后在主頁我們可以看到我們創建的項目,點擊此項目名稱進入到項目詳情頁面,詳情頁面可以點擊配置對項目進行設置
84BE11F5-982E-4C6E-ACAF-79DBDCAB5844.png

這里使用git來進行版本管理
93ED66E5-D993-4BCF-AE4B-14E5C2DF5074.png
這里使用git和ssh來配置項目

生成ssh私鑰和公鑰請參考:如何生成公鑰和私鑰
復制我們生成的公鑰,對git倉庫進行配置
conding.net:項目 > 設置 > 部署公鑰
github: 項目 > Settings > Deploy keys

FACB4665-3E57-4832-801C-BC551FA84D5B.png

5376414E-3DFE-49E4-90EC-1CABB6C3B347.png
ps: 添加私鑰的時候記得全部復制,包括-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----
ps: 添加私鑰的時候記得全部復制,包括-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----
ps: 添加私鑰的時候記得全部復制,包括-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----

添加完成之后選擇自己添加的憑據:

F8D9D4A3-4D25-4356-BF98-AEE4108D23EF.png

接下來配置構建觸發器,我這里選擇的是輪詢scm,可以根據自己的需求選擇不同的觸發方式,語法可以參照:http://www.lxweimin.com/p/509c59391b3b

71ABAF0C-75FD-4BD3-9BD7-AA85D62C5004.png
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置

配置方式請參照:http://www.lxweimin.com/p/06b93058c83d

keychains和描述文件配置好之后,可以進行下一步配置構建環境:

D8309C4A-3CF2-4C72-B82B-9008BF4F6E5B.png

接下來用shell命令來編譯打包,并上傳蒲公英

873B70D0-749C-48CB-AD87-FE5FA3E240BC.png

然后在shell命令中編輯如下代碼:

#ps:這個代碼不太理解,在本地jenkins進行自動化構建的時候不用加也可以成功
#但是當把jenkins服務器放在云服務器上,把我的mac作為一個節點來構建的時候不加是無法正常構建的
#如果有人知道原因請留言
#解鎖login.keychain
security unlock-keychain -p "你的電腦登錄密碼" ~/Library/Keychains/login.keychain
# 工程名
APP_NAME="TestProject"
# 證書
CODE_SIGN_DISTRIBUTION="iPhone Distribution: 證書名字"
# info.plist路徑
project_infoplist_path="./${APP_NAME}/Info.plist"
#取版本號
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")
#取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")
DATE="$(date +%Y%m%d)"
IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}.ipa"
#ipa包的儲存路徑(自己進行配置)
IPA_PATH="/Users/用戶名/Desktop/ipa/Demo/${IPANAME}"
echo ${IPA_PATH}
echo "${IPA_PATH}">> text.txt
#Debug 和 release 根據自己的需求進行配置
#下面2行是沒有Cocopods的用法
echo "=================clean================="
xcodebuild -target "${APP_NAME}"  -configuration 'Debug' clean
echo "+++++++++++++++++build+++++++++++++++++"
xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Debug' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'
#下面兩行是有cocopods的用法
# xcodebuild clean -workspace "${APP_NAME}.xcworkspace" -scheme ${APP_NAME}   -configuration 'Release'

# xcodebuild archive -workspace "${APP_NAME}.xcworkspace" -scheme ${APP_NAME} -archivePath "${ARCHIVE_PATH}/${APP_NAME}.xcarchive"
echo "+++++++++++++++++Run+++++++++++++++++"
xcrun -sdk iphoneos PackageApplication -v "./Debug-iphoneos/${APP_NAME}.app" -o ${IPA_PATH}
#上傳到蒲公英
uKey="蒲公英的uKey"
#蒲公英上的API Key
apiKey="蒲公英的API Key"
#要上傳的ipa文件路徑
echo $IPA_PATH
 
#執行上傳至蒲公英的命令
echo "++++++++++++++upload+++++++++++++"
curl -F "file=@${IPA_PATH}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" http://www.pgyer.com/apiv1/app/upload
ps : 里邊需要替換的參數需替換為自己的參數

到此為止,點擊保存,所有的參數已經配置完整,我們回到項目首頁:

4EDEA481-D63E-4485-97D6-FBDC0F20E4D7.png
CF0EF163-4255-4BCA-80CC-385AC67F096B.png
B26BB14C-6935-42C7-BF0C-C459D90E0077.png

構建成功,則表示配置完成,以后就可以使用jenkins自動構建你的項目了。

希望對你有幫助,如有問題請留言。

參考:https://blog.csdn.net/u011537073/article/details/80025716

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容