(插播)關於使用jenkins + unity +Xcode 來進行本身主動打包的處理。

近期瞭解了下jenkins流程化服務的東西,我的感受jenkins是一個很是方便的工具。主要是方便。設置好流程性得命令。僅僅需肯定下就可以達到本身主動化。java

減輕了錯誤得發生和簡化了帶來的複雜得步驟。今天咱們就以jenkins用來編譯unity生成APK包和ipa文件 爲樣例。作一個學習。android

平時作項目需要團隊之間的合做。假設策劃想本身去作一個測試包,又要去找你作,還要打斷你的工做,去專門編譯一個包比較麻煩。shell

假設這時候。你已經有了一個jenkins得server。他可以本身經過簡單得操做就可以獲得想要得包。沒有必要還要去麻煩你去本身動手一步步完畢這些繁瑣得步驟。數據庫


這裏我寫了一個文檔關於jenkins和unity搭建得一個文檔。 要得戳這裏xcode

先貼出來。 安全

首先了解下jenkins,是一個基於java的用來處理流程化的服務性質的工具。併發

缺點:配置較複雜長處:可以運行.sh腳本。插件也比較多.app

(我用得是mac電腦 因此在網上直接 下載 jenkins for mac 直接安裝便可)iphone

 

1.    準備工做。首先是unity項目中咱們在Assets/Editor 如下創建一個用來運行編譯的腳本。ide

好比PerformBuild.cs,,詳細代碼見文件裏的文件。

主要做用就是,使用代碼來作打包的工做。

2.    安裝jenkins(安裝包文件見目錄)  step by step 安裝,它會本身主動啓動 Jenkins。

3.    開始使用jenkins。左側菜單是新建,任務歷史等等。

爲了方面咱們首先創建下面用戶。點擊左側菜單條中得-系統管理-configure Global Security 點擊-啓用安全 ,安全域:點擊 -jenkins專實用戶數據庫-贊成用戶註冊 。受權策略:這裏先選-不論什麼用戶可以作不論什麼事。而後保存。回到主界面在右上角就可以注冊用戶了。接着進行註冊step by step 。

4.    回到主界面,點擊左邊菜單條-新建。寫入Item名稱(項目的名字)。選中-構建一個自由風格得軟件項目。點擊 OK  ,開始配置項目。

5.    在配置項目以前。咱們先下載幾個插件。回到主界面,點擊左邊菜單條的 –系統管理,點擊-管理插件選中-可選插件,而後在右上角有搜索框,分別輸入咱們要找的Unity3d plugin,Xcode integration,GIT plugin,Gitlab hook plugin. 分別使用 -下載直接安裝。而後 從新啓動 Jenkins,命令是:http://localhost:8080/restart

6.    這裏有一個很是需要注意得地方,咱們使用得是MAC電腦,對權限的東西要求很是高。而jenkins是默認安裝在/Users/Shared/Jenkins/Home中。而且jenkins的工做文件夾workSpace文件夾也在當中。

這是一個很是敏感得文件夾。需要咱們頻繁得操做,會形成找不到文件夾很是多錯誤。咱們可以是用Terminal來改變文件夾權限,這樣很是得麻煩(捨棄)。咱們還可以用jenkins的從節點,把工做文件夾指向外面。操做:

回到主界面-系統管理-管理節點-新建節點,好比節點名字:unity4.5,選擇Dumb Slave,而後點擊OK。而後配置下節點。# of executors:這個是併發處理的多少。默認1就可以了。遠程文件夾:好比:/Users/vika/Desktop/unity_prt/autobuild這個至關於主文件夾,待運行以後他會本身主動建立子文件夾(/workspace/項目名字/)(回來把unityproject的文件放在這個如下)。

使用方法:選擇-儘量得使用這個節點。啓動方法:

Launch slave agents via Java Web Start,使用得是slave命令啓動的方式。Availability:Keep this slave on-line as much as possible,保持slavedos一直開啓。而後保存,回到管理節點。

點擊咱們剛剛新建的unity4.5節點,看到節點未啓動,咱們必須使用slave.jar(見目錄)來啓動它。

打開terminal(終端)。到slave.jar所在的目錄使用java -jar slave.jar -jnlpUrl http://localhost:8080/computer/unity4.5/slave-agent.jnlp)命令啓動unity4.5 節點。回到jenkins,刷新下,咱們就可以看到 unity4.5這個節點已經啓動。

7.    回到主界面。點擊咱們創建的項目,點擊左側菜單中的-配置。

開始配置咱們得項目。

從上往下,依次-項目名稱(保持不變),-描寫敘述(可以不用寫)。-丟棄舊的構建(可以設置,多少時間清理一次舊的構建),再往下可以依據需求依次設置。

最後可以看到Restrict where this project can be run:選擇剛剛新建得unity4.5。

高級選項:臨時沒用。

源代碼管理:這裏有幾種方式,咱們當中就有咱們剛剛下載得插件GIT,還有CVS。SVN等。本地的話就選None。

構建觸發器:(觸發項目構建的條件),這裏有幾種方式:

遠程觸發:設置令牌使用URL的方式來進行構建。

PollSCM:時間觸發可以設置時間來控制,本身主動構建。剩下得兩個不常常使用。

構建:點擊添加構建步驟。咱們是unity的項目。選擇invoke unity3d Editor。有兩個標題。unity3d installation name,這個是要選擇

假設沒有先保存,回到主界面,-系統管理-系統設置-unity3d,進行設置unity3d的安裝文件夾,/Applications/Unity/Unity.app,別名隨便起一個,而後保存,再次回到項目-配置中),

剛剛設置得別名,Editor command linearguments :這個使用用來運行unity 命令行的dos我這裏寫的是(-quit  -batchmode-executeMethod PerformBuild.CommandLineBuildAndroid)可以理解出我運行得是 項目中Editor文件夾中 PerformBuild腳本CommandLineBuildAndroid方法。這裏就會有一個疑問,這樣設置好了,jenkins怎麼知道個人項目文件夾那,這裏unity3d plugin他是默認在jenkins的默認(workspace/項目名字)文件夾的,因此有兩個選擇。要麼把本身的項目拷貝到(workspace/項目名字)文件夾,要麼在dos前面加入–projectpath 命令。我這裏選擇得拷貝到workspace。

CommandLineBuildAndroid方法是編譯android。假設還有編譯IOS的,在點擊-添加構建步驟,依照上面的方法依次來進行設置。

Unity的部分咱們設置好了。現在是咱們有了APK和xcode的project,如下咱們來設置編譯Xcode的project。

點擊-添加構建步驟-Xocde。

General build settings : Target(不寫)。點擊-settings clean before build選擇yes,剩下得不選,Configuration這裏有兩個模式ReleaseDebug,看狀況本身選擇。

Pack application and build .ipa:不選,咱們使用命令來進行打包。

 

Code signing & OS X keychain options:code Signing Identity (這個是證書。協議得選擇。可以任意打開一個xcode項目在項目的build settings中搜索code signing identity。可以看到證書。好比。Iphone Developer:something (證書序號))。把證書寫上去。Embedded Profile:嵌入的配置文件(沒有可以不填)。

Unlock Keychain:本身設置。

Advanced Xcode build options :這裏是設置xcode項目的文件夾,咱們是unity的文件夾,這裏很是多不用設置, Xcode Project Directory設置,注意這裏的都是相對於workspace的文件夾。好比:../build/iPhone 。SDK:iphoneos7.1,這是編譯得SDK,設置爲7.1。剩下得不用管。

編譯完了Xcode,咱們這裏要設置下打包IPA。點擊 –添加構建步驟-Execute Shell。

這裏是書寫shell腳本。咱們打包.app文件得命令是:(

xcrun -sdk iphoneos7.1PackageApplication -v/Users/username/Desktop/unity_prt/autobuild/workspace/build/iPhone/build/autobuild.app-o /Users/username/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa

),使用xcrun 來進行打包。

 

想把打包的文件和APK從project文件夾移動出來,使用CP命令。

cp -P/Users/username/Desktop/unity_prt/autobuild/workspace/build/android/autobulid.apk/Users/vika/Desktop/ftp/

)(

cp -P/Users/username/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa/Users/vika/Desktop/ftp/

相關文章
相關標籤/搜索