通过Jenkins自动化构建Unity-Android-AAB包

Posted 你好-C嘉嘉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Jenkins自动化构建Unity-Android-AAB包相关的知识,希望对你有一定的参考价值。

本文不赘述背景以及原理,主要记录再已成功构建apk的基础上如何构建aab。

一、在Jenkins中添加一个开关,也就是参数化构建,为布尔类型,如图:

(由于构建aab包只是为了发布时提交到google商店用,其他渠道目前还是apk)

二、因为使用的是Google插件的方式构建AAB,所以需要引入相关插件包com.google.android.appbundle

下载地址: Google插件包下载地址

三、在原打包脚本中添加接收Jenkins传递过来的参数变量外,还需要添加一行配置代码,用于控制Editor构建AAB的开关。

 EditorUserBuildSettings.buildAppBundle = isBuildAAB;

这行代码的作用,如图:

四、接下来编写构建AAB所需要的配置代码段,如图:

其中AB_AAB_PATH参数是构建AAB所需要的资源路径,比如我就在Unity工程中的Assets同级目录下创建了一个名为AAB的文件夹。

 注意:当构建AAB时,需要把StreamingAssets目录下的资源文件拷贝到AAB文件夹中,即上述的AB_AAB_PATH,否则打出来的是没有资源aab空包。

五、调用AAB配置方法,并执行构建,如图:

 

 使用Google插件用到的命名空间:

 

以上,就是Jenkins+Unity-Android-AAB构建的全部步骤,如果Jenkins构建成功,但是没有出包,那么很可能是Gradle版本的问题,我使用的版本是3.4.0,经测试是完全没问题的。

 

 

通过webhook构建Jenkins项目

 轮询SCM可以实现Gitlab代码更新,项目自动构建,但是

该方案的性能不佳。那有没有更好的方案呢? 有的。就是利用Gitlab的webhook实现代码push到仓
库,立即触发项目自动构建。

安装Gitlab Hook插件
需要安装两个插件:
Gitlab Hook和GitLab

 

 Jenkins设置自动构建

 等会需要把生成的 webhook URL配置到Gitlab中。

Gitlab配置webhook
1)开启webhook功能
使用root账户登录到后台,点击Admin Area -> Settings -> Network
勾选"Allow requests to the local network from web hooks and services"

2 )在项目添加webhook
点击项目->Settings->Integrations

 

 修改代码

 

以上是关于通过Jenkins自动化构建Unity-Android-AAB包的主要内容,如果未能解决你的问题,请参考以下文章

通过Jenkins自动化构建Unity-Android-AAB包

Jenkins与Gitlib实现自动化部署与持续构建

jenkins结合gitlab实现提交代码自动构建

CI/CD技术专题「Jenkins实战系列」如何通过Gitlab对接Jenkins构建提交自动触发部署构建体系指南(上部)

游戏开发进阶教你Unity通过Jenkins实现自动化打包,打包这种事情就交给策划了(保姆级教程 | 命令行打包 | 自动构建)

游戏开发进阶教你Unity通过Jenkins实现自动化打包,打包这种事情就交给策划了(保姆级教程 | 命令行打包 | 自动构建)