Unity2020.3.5 通过Jenkins 自动化打apk
打包的流程分成三步
一、Jenkins一键 打ab包+导出Gradle 工程
二、Jenkins 通过Gradle工程打出apk
三、Jenkins 将apk 复制到共享盘里
以上三步可以合成一个Jenkins 任务一键操作完毕
项目用Svn管理
Windows 系统打包
il2cpp
Assetbundle 是通过Grameframwork 的打包系统进行构建
在用Invoke Unity3d editor 之前需要在jenkins 插件管理的地方下载unity3d 插件。 并重启。然后找到全局工具配置 Global tools Configuration的地方配上jdk 的路径,unity3d 的路径和gradle 路径。jdk用的就是unity 自带的jdk 路径。主要还是jenkins 安装的时候指定的jdk 路径有关。不知道安装时是指向哪里,可以查看jenkins安装目录下的jenkins.xml
在选择Gradle 之前,需要在Jenkins 的全局工具配置里将Gradle 的地址填上,不能直接用Unity 本身下载好的Gradle 。试了没用,没深研究为啥不行。这里的Gradle 是通过AndroidStudio把gradle 工程导入,生成之后的一个gradle 文件夹里拿来的。
具体路径C:\Users\pc.gradle\wrapper\dists\gradle-6.8-bin\1jblhjyydfkclfzx1agp92nyl\gradle-6.8,
C:\Users\pc 是本机用户 1jblhjyydfkclfzx1agp92nyl 也不知道是啥就点进去找,最后找到有bin文件夹的就是我们要拿出去用的gradle-6.8。放在我们指定的文件夹内。
在Jenkins 的配置处 Configure System
配一下环境变量,也可以试试不配。我当时就一股脑全部配了去。
以上是Jenkins 的环境配置
以下开始构建
一、一键 打ab包+导出Gradle 工程
在Jenkins 里新建一个任务,输入名称,点击Freestyle project 点击ok。
左边的工具栏中,点击配置,进入配置界面
在General 模块中,勾选This project is parameterized ,将需要传进的参数 添加到面板中
在General 的最下面 有个高级选项,勾选使用自定义的工作空间。这里可以将工作空间特定指向本身的工程。而不需要Jenkins 自己的工作空间。在之前这里我碰到一个坑就是没有指定工作空间,导致一直用不了构建里面的invoke unity3d editor ,当时一直报一个Gradle build failed 。
- What went wrong:
Execution failed for task’ :launcher:mergeReleaseResources’.
不知道是不是跟这个有关系,没有深究(Jenkins 会自动将svn拉下来的内容放在一个工作空间里,然后Unity 访问的就是这个临时空间,而不是我们的项目路径,所以里面可能会缺少一些环境配置才会打包失败)。总之后面工作空间指向了我本地的工程就没有这个问题了。
在源码管理这一块中,先要去Jenkins 插件管理中下载subversion