脚本起源
策划:煎饼啊,给我一个最新的电脑版~
煎饼:好~
于是,开始手动发版,操作步骤如下:
- 运行Unity,把平台切换到Windows
- 去到项目代码文件夹里边,先还原代码,再拉取最新代码
- 手动把测试模块拖动到主场景的Main Camera上
- 在工具面板点击打包资源按钮(开发提供)
- 在工具面板点击发版按钮(开发提供)
偶尔会忘记拉取最新代码,偶尔会忘记打包资源,最重要的是,这发版步骤还是略繁琐,于是懒人症发作,开始探索如何脚本化这个过程。
探索过程
这些步骤分为两类操作。
一类是Unity外的操作,如还原,拉取代码,这个可以用Python解决。
一类是Unity内的操作,切换平台,打包资源,进行发版。这些操作,外部工具不好直接介入,最好的方式是Unity提供了命令行的操作形式,搜索了下,果然是有,研究了下,找到了几个可用的参数。
|
|
最终调用命令如下:
Unity.exe -quit -batchmode -executeMethod CMDTool.BuildWindows -logFile C:\build\log.log
更多参数点击查看官方文档
实现过程
Unity发版的工具类
|
|
SwitchPlatform 切换平台
CheckTestManager 加载测试模块
SGTools.BuildAssetBundles 开发提供的打包资源方法
SGTools.Build 开发提供的发版方法
还原,拉取项目代码
为什么要还原?因为每次发版都会注入测试模块,下次发版前拉取新代码的时候,会出现冲突。
可以使用Python来调用Git命令:
|
|
检查Unity是否已经关闭
调用Unity命令行发版之前,需要确认Unity没有开启,否则运行会报错。
检查发版的Log文件,是否有报错信息
|
|
发版函数
|
|
最终运行
|
|