Jenkins打包事项
Jenkins 打包说明
脚本准备
自动化脚本
- AutoCi.rar文件
- 将文件解压至与Assets同级目录即可
Unity脚本
Editor 目录下创建类BundleMakerUtil.cs, 添加如下函数:
public static bool HasRawArg(string name)
{
var args = System.Environment.GetCommandLineArgs();
for (int i = 0; i < args.Length; i++)
{
if (args[i].Trim() == name)
{
return true;
}
}
return false;
}
Editor目录下创建类BuilderMenu.cs 使用命名空间SGameBundleMaker. (也可自定义,但需要修改auto_ci.py里的配置)
BuilderMenu.cs类中创建 build_bundle_for_ci() 静态函数,示例:
public static void build_bundle_for_ci() |
BuilderMenu.cs中创建 build_for_ci() 静态函数
注:-proj, -path 也可修改,需要与auto_ci.py中代码对应
示例如下:
public static void build_for_ci() |
Jenkins配置
- Jenkins安装 Powershell插件,在 插件列表中搜索到这个:
- 安装完后,重启下Jetkins
- 在项目配置->构建 里选择使用Windows PowerShell:
- 添加如下配置在Command格内:
echo ${ENV:WORKSPACE} |
打什么样的包? 设置环境变量
找到Jenkins环境变量设置
Manage Jenkins -> Configure System
- 打 Apk
设置 IsApk 为 true
- 打 aar到平台
设置 IsApk 为false或其他
- 带Debug的包
设置 IsDebug为true, 当不为true时则默认为relase包
CI的执行脚本说明
auto_ci.py -仅打aar到平台需要
- 修改manifest.xml文件,去掉intent-filter
- 修改build.gradle文件,设置为library,去掉applicationId,设置gradle版本,添加jcenter(),google()到 all projects块
jksdk_util.py -上传aar到平台
需要打开文件,更改下id为对应项目
上传到平台,需要改成指定格式的名字:
游戏名称-框架类型-debug/release-version.出包号.aar
注意事项
- Powershell 脚本访问Jenkins环境变量记得加 ENV: 前缀
- 在build.gradle加入的all projects块的代码,是由于gradle有时会找不到相关的jar包,又不会启动自动下载导致