Mac下Jenkins+SVN+Xcode构建持续
1 安裝Jenkins
Jenkins是基于Java開發的一種持續集成工具。所以呢,要使用Jenkins必須使用先安裝JDK。
JDK安裝
JDK 下載地址
jdk 1.8.png
安裝JDK的過程略,別說你不會安裝(如有不會安裝的,自行百度)。
Jenkins安裝
Jenkins 下載地址
Jenkins安裝文件.png
點擊圖中 Mac OS X,會自動下載【jenkins-1.644.pkg】
安裝過程略(雙擊jenkins-1.644.pkg后,下一步就OK了)。
注意: 1、Jenkins 安裝成功后,會創建一個Jenkins用戶,而Jenkins的工作區間默認是在【/用戶/共享/Jenkins/Home/jobs】目錄下,可以用Finder-->前往,進入。
2、Jenkins目錄下的文件夾的讀寫權限只對Jenkins用戶開放,所以后面apple證書等必須在Jenkins用戶下安裝,項目的ipa導出也得在Jenkins用戶下操作。(或者用管理員權限修改該目錄針對用戶的權限)
3、Jenkins的使用是每一個用戶都可以使用,所以有可能導致構建版本的時候報錯,還是老老實實在Jenkins用戶下操作吧。
測試Jenkins安裝成功
打開瀏覽器,輸入http://localhost:8080,如果能夠正常打開Jenkins,則Jenkins安裝成功。
2 安裝Jenkins插件
Jenkins里有相當多的插件,使用什么工具就安裝什么工具的插件。
比如我們這里使用SVN,就安裝SVN的插件,如果你使用Git就安裝Git的插件。
因為我已經安裝了SVN,所以安裝插件的過程就用Git來演示。
安裝插件第一步.png
安裝插件第二步.png
第三步,搜索,安裝插件.png
第四步,安裝過程.png
第五步,查看已安裝插件.png
3 Xcode以及開發證書設置
因為要使用Xcode命令,所以必須保證Xcode command Line已安裝。
3.1 設置apple development 證書
在原來Xcode開發所在用戶下,導出發布證書,如果要打企業包(299刀)和公司/個人版包(99刀),則兩種證書都要導出,然后拷貝到Jenkins用戶環境下,雙擊安裝到Mac 的鑰匙串中。
證書設置第一步.png
證書設置第二步.png
注意:因為用戶訪問鑰匙串中的證書需要權限,而用jenkins構建時,不管是用Xcode插件配置還是shell 腳本,都不能輸入用戶密碼,所以必須設置證書的【訪問控制】為允許所有應用程序訪問此項目。
3.2 安裝mobileprovision描述文件
同樣需要在Jenkins用戶下,安裝好打包需要的手機描述文件。
4 配置構建項目
下面講解構建項目的配置,可以使用本地的項目,也可以使用SVN上的項目(只需要填入svn上工程地址即可),然后輸入shell 腳本就可以開始構建了。
4.1 使用本地項目構建
步驟如下:
配置項目,第一步.png
點擊OK,在【/用戶/共享/Jenkins/Home/jobs】目錄下會生成HelloJenkins的目錄。
配置項目第二步.png
配置第三步.png
其他的設置項,均不用設置,只需要設置下腳本即可,腳本詳細的內容如下:
# 工程名 APP_NAME="HelloJenkins" # 證書 CODE_SIGN_DISTRIBUTION="iPhone Distribution: XXXXXXXXXXXX" # 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" echo "=================clean=================" xcodebuild -target "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)' xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/"${IPANAME}"注意1:【-o ~/$IPANAME】表示導出的ipa文件在當前用戶的目錄下,即【/用戶/共享/Jenkins/】下。
其中CODE_SIGN_IDENTITY="iPhone Distribution: xxxxxxxxxx"是你打包使用的證書在鑰匙串中的常用名稱。
導出的ipa,叫【HelloJenkins_V1.2_20160118.ipa】。
注意2:如果如上圖【配置項目第二步.png】那樣,在xcodeproj相同目錄下,新建一個sh腳本文件,用【sh xxx.sh】命令的話,見下一篇介紹。
如果你的項目中用到了cocoapods,那腳本有幾個參數需要調整一下,詳情見下一篇。
注意3(2016.02.17更新):CODE_SIGN_IDENTITY 這個屬性可以不設置,直接設置profile就可以了,編譯時會自動去匹配對應的CODE_SIGN_IDENTITY,需要注意的是設置profile時,設置的是其UUID值。例如【PROVISIONING_PROFILE='f035763e-e847-4db8-ac10-0004809fdc90'】
點擊保存,然后點擊左側菜單,立即構建,即可開始構建。
立即構建.png
構建成功.png
構建結果.png
4.2 使用svn地址構建
第一步,新建項目,與上面的一樣。
第二步,不用將工程拷貝到jobs目錄下了,直接在配置里源碼管理那一欄設置svn地址
SVN配置.png
第三步,設置shell 腳本,與上面的一樣。
第四步,立即構建即可。
?
轉載于:https://www.cnblogs.com/fakeCoder/p/5656296.html
總結
以上是生活随笔為你收集整理的Mac下Jenkins+SVN+Xcode构建持续的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AngularJS 深入理解 $scop
- 下一篇: 51nod 1138 连续整数的和(数学