Unity本身有建置APK的API可以使用,而Jenkins扮演的角色就是從外部(不使用Unity編輯器)去呼叫Unity的API來建置專案
用Jenkins建置專案大致可以分為
這邊先從本地建置開始弄
本地建置
Unity 編譯apk的Script
由於Jenkins只是呼叫unity的api來建置apk的,因此在unity內還是必須寫一個script來定義這個apk怎麼建置
建立一個Builder
1 |
|
這是一個算很簡單的建置,只是單純的建置APK而已,沒有設置其他的參數,有興趣的可以再參考 EditorUserBuildSettings
然後放在Editor下(不然會失敗)
然後到Jenkins上確認unity的plugin有設定好
在jenkins上建置unity專案
選擇新增一個作業
這邊輸入專案名稱,看你要叫什麼
這邊設定這個專案的設定,可以看到有git跟svn的選項
另外比較會用到的是 [參數化建置] 這邊就先忽略
再往下拉可以看到有個建置的選項
選擇unity3d Editor
然後就會跑出這個視窗,它可以選擇你在Global Tool Configuration設定建置用的unity的版本,而我是用unity 2017.4.8來建置
而下面這一欄!!! 【Editor command line arguments】 很重要!!!! 這個就是建置的命令
先介紹一些基本的命令
- -projectPath :unity要build 的專案的路徑
- -logFile:Build專案的log的路徑,可以來看輸出的時候出現什麼問題
- -executeMethos:就是要執行靜態程序,也就是剛剛我們scripts上的Builder.Build
- -output:輸出的路徑
還有其他命令參數可以參考:Unity3D游戏开发之“unity3D命令行参数”
那綜合以上,最終得到的結果是:
1 | -projectPath "C:\Users\User\Documents\TestJenkins\Jenkin" -logFile "C:\Users\User\Documents\TestJenkins\Jenkin/unity3d_editor.log" -quit -batchmode -nographics -executeMethod Builder.Build -output "C:\Users\User\Documents\TestJenkins\Jenkin/test.exe" |
輸入在Editor command line arguments內後按Apply就好了
設定完後就可以跑去建置了
因為#1是我建失敗的等待#2跑完,就會看到你的成品了!!
# 常跑出來的問題
沒有設定android sdk路徑
LogFile也可以在Jenkins上看
參考
https://dev.twsiyuan.com/2016/04/continuous-integration-with-unity-using-jenkins.html http://hoseex.blogspot.com/2017/12/jenkinsunity3d.html https://blog.csdn.net/cgy56191948/article/details/81263982 https://blog.csdn.net/liqiangeastsun/article/details/78867309 https://dotblogs.com.tw/echo/2018/03/22/jenkins_plugin_git