一、 通過homebrew安裝Jenkins
注:因為公司所有的開發都是在mac上開發的,所以這里不對其它系統的jenkins安裝方法進行描述,如果沒有安裝homebrew,可以參照下邊鏈接進行安裝:
hombrew官方網站: https://brew.sh/index_zh-tw.html
終端運行如下命令安裝Jenkins:
$ brew install jenkins
安裝成功之后在終端啟動jenkins:
$ jenkins
等待jenkins啟動完成之后,就可以在瀏覽器中輸入localhost:8080來訪問jenkins服務器:
打開之后會調到下邊的界面:
選擇之后會安裝一下jenkins插件:
等待插件安裝完成,則會出現登錄界面:
創建用戶并登錄之后,會進入到jenkins管理頁面,接下來就是我們項目的配置設置了。
注:這里因為本人mac已經安裝過了jenkins所以無法截圖,所以截圖是借用https://blog.csdn.net/u011537073/article/details/80025716博客的圖,如果侵權請留言,我會刪除替換圖片。
二、 iOS項目的配置
1、安裝插件
我們可以在jenkins管理頁面的:系統管理->管理插件->可選插件
我們需要安裝的插件:
Keychains and Provisioning Profiles Management
Keychain和描述文件的插件(需要先安裝才能上傳.keychain文件和描述文件)
注:因為本人只是iOS開發,所以說到的插件只是iOS需要的一些插件,至于其它語言需要的插件請自行google或者百度
2、創建并配置項目
在jenkins首頁點擊“ 新建任務 ” 進入到創建項目界面:創建完成之后在主頁我們可以看到我們創建的項目,點擊此項目名稱進入到項目詳情頁面,詳情頁面可以點擊配置對項目進行設置
這里使用git來進行版本管理
這里使用git和ssh來配置項目
生成ssh私鑰和公鑰請參考:如何生成公鑰和私鑰
復制我們生成的公鑰,對git倉庫進行配置
conding.net:項目 > 設置 > 部署公鑰
github: 項目 > Settings > Deploy keys
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-----
添加完成之后選擇自己添加的憑據:
接下來配置構建觸發器,我這里選擇的是輪詢scm,可以根據自己的需求選擇不同的觸發方式,語法可以參照:http://www.lxweimin.com/p/509c59391b3b
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置
注:因為iOS編譯和打包涉及到證書的問題,所以我們先要進行keychains和描述文件的配置
配置方式請參照:http://www.lxweimin.com/p/06b93058c83d
keychains和描述文件配置好之后,可以進行下一步配置構建環境:
接下來用shell命令來編譯打包,并上傳蒲公英
然后在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 : 里邊需要替換的參數需替換為自己的參數
到此為止,點擊保存,所有的參數已經配置完整,我們回到項目首頁:
構建成功,則表示配置完成,以后就可以使用jenkins自動構建你的項目了。
希望對你有幫助,如有問題請留言。
參考:https://blog.csdn.net/u011537073/article/details/80025716