工作环境
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.