工作環境
Dell 服務站 + win10系統
軟件環境
jenkins 2.303.2
git 2.33
cocosCreator 2.4.5
Android Studio 2020.3.1.25
1 Jeninks安裝
之前寫過,此處略.
參考 https://www.cnblogs.com/wuzhang/p/20190512wuzhang.html
2 源碼管理
從GIt上拉去一個新的cocosCreator項目
3 構建配置
0) 根據參數構建項目
此處增加了b_build b_compile參數 (非必要)
1) 使用windows 命令行調用 cocosCreator 構建
此處使用了 CocosCreator.exe --disable-gpu --path @WORKSAPCE% --build 【無參數=使用creator編輯器的參數, 所以需要上傳編輯器的構建參數setting文件到git上】
echo "=====start build======" echo "======params :=======" %b_build% %b_compile% if %b_build%==true goto build REM if %b_compile%==true goto compile goto end :build D:\IDE\CocosDashboard\resources\.editors\Creator\2.4.5\CocosCreator.exe --disable-gpu --path %WORKSPACE% --build REM if %b_compile%==true goto compile goto end REM :compile REM D:\IDE\CocosDashboard\resources\.editors\Creator\2.4.5\CocosCreator.exe --path %WORKSPACE% --compile REM goto end :end echo "======end build======="
2) 使用Gradle 打包安卓項目
注意 高級選項中指定cocos生成的安卓項目路徑 Root Build script
指定到頂級build.gradle文件位置
3) 使用命令行 修改出包apk文件名 ,方便歸檔
@echo off rem 項目打包結果按照build號重命名 SET p="%WORKSPACE%\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\outputs\apk" cd %p% if exist "release" ( cd ".\release" for %%a in (*.apk) do ren "%%a" "hello_world_release_%BUILD_NUMBER%.apk" ) cd %p% if exist "debug" ( cd ".\debug" for %%a in (*.apk) do ren "%%a" "hello_world_debug_%BUILD_NUMBER%.apk" ) pause
4 構建后操作
提取生成目錄下的*.apk 歸檔
【補充事項】
1 windows環境下 路徑名拼接最長只能到240字符. 所以建議修改jenkins工作目錄位置,讓整個工程的路徑盡量最短吧
在jenkins安裝完畢初始化之前,手動去調整jenkins目錄下的配置文件。(注意修改jenkins路徑會導致重裝插件和丟失已有工程)
修改完JENKINS_HOME 位置之后再重啟jenkins服務。再執行一遍初始化流程
2 Gradle編譯失敗 可能出現的報錯
是由於Gradle編譯路徑沒有設定。參考正文流程 構建過程Gradle配置的 Root Build script
[Gradle] - Launching build. [TestCocos] $ cmd.exe /C "D:\JWork\tools\hudson.plugins.gradle.GradleInstallation\Gradle4.10.3\bin\gradle.bat projects properties hello_world:clean hello_world:assembleDebug && exit %%ERRORLEVEL%%" FAILURE: Build failed with an exception. * What went wrong: Project 'hello_world' not found in root project 'TestCocos'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.