欢迎光临散文网 会员登陆 & 注册

15.Jenkins-Unity自动打包搭建流程

2023-05-18 10:59 作者:机智的小草yns  | 我要投稿

使用Jenkins自动化打包的分哪些步骤?

1.使用命令行进行Unity打包

2.安装搭建Jenkins环境

3.使用Jenkins触发命令行,执行打包

4.将打包日志输出到Jenkins控制台 (可跳过)


1使用命令行进行Unity打包

分两个步骤:

1静态方法中实现打包

2命令行执行Unity项目中的静态方法


1 静态方法中实现打包

将CIBuild.cs放于Editor目录下

完整代码

https://github.com/smartgrass/XiaoCaoTools/blob/main/Assets/XiaoCaoTools/Core/Editor/CIBuid/CIBuild.cs

然后使用菜单的Tools/Build 验证是否能打包成功

2 命令行调用Unity项目中的静态方法 CIBuild.Build

-executeMethod CIBuild.Build 是Unity项目的静态方法

-quit 表示执行完成后退出

-batchmode 表示批处理模式, 即不打开Unity窗口

完整代码

https://github.com/smartgrass/XiaoCaoTools/blob/main/Assets/XiaoCaoTools/BuildTools/Build.bat

这需要注意Unity的路径或项目的路径不能有空格!

Windows的软件目录一般放在Program Files下,会因为空格读错指令,处理起来比较麻烦

此时已经可以不打开Unity就进行打包了


2.安装搭建Jenkins环境

这部分需要的时间比较长,考验电脑和网速...

1 安装

参考: https://blog.csdn.net/weixin_44679832/article/details/116432269

1.首先到 https://www.jenkins.io/ 下载安装包 jenkins.msi

   同时jenkins需要比较高版本的jdk, 直接下jdk11吧

2.管理员模式运行jenkins.msi(非管理员模式运行可能会安装失败)

    选择Run service as LocalSystem ,端口号默认8080

3.设置工作目录, 防止安装到c盘

环境变量,JENKINS_HOME,选一个路径(不带空格)  

在jenkins.xml文件中,将:
<env name="JENKINS_HOME" value="%LocalAppData%\Jenkins\.jenkins"/>
修改为
<env name="JENKINS_HOME" value="%JENKINS_HOME%"/>

2 启动和配置

参考:https://zhuanlan.zhihu.com/p/490969696

启动,浏览器打开 http://localhost:8080/

等它安装很久很久, 然后按指示登录就行

结尾询问安装插件时, 自选插件,然后全不选跳过

此时,Jenkins就已经启动完成

3 安装中文插件(可跳过)

打开http://localhost:8080/manage/pluginManager/

available中搜索 Locale 和 Localization: Chinese ,安装

这里国内的代理一般连不上, 所以推荐在updates.jenkins-ci.org/download/plugins/

上先下载插件包, 然后在advanced Setting中的Deploy Plugin离线安装

安装完后需要重启Jenkins

http://localhost:8080/restart


3.使用Jenkins触发命令行,执行打包

首先需要创建项目

创建时, 除了写项目名字其他都先不管

创建完成后在Dashboard面板进入你的项目->配置

然后在BuildSteps中添加一个Windows batch ,这里就是执行命令的地方

比如执行前面写的Build.bat , 放于工作目录下就可以


接下来保存后就可以回到项目就可以执行构建


至此Jenkins自动化打包已完成

但此时Jenkins上没有打包的日志信息


4.将打包日志输出到Jenkins控制台

由于python的print可以在cmd中输出日志, 而Jenkins自动监听cmd中的日志

所以这里的思路是在python执行cmd命令进行打包,

同时开启一个线程,增量读取Unity的打包日志文本,print出来

https://github.com/smartgrass/XiaoCaoTools/blob/main/Assets/XiaoCaoTools/BuildTools/UnityBuild.py


Jenkins的Build Steps 命令为

这时, 项目路径没空格就太重要了

没出意外就可以看到构建过程的日志了

坑注意:

使用命令行构建时要关闭Unity, 不然Unity.exe会被占用,导致打包失败

日志中可以看到提示

Multiple Unity instances cannot open the same project.


引路:

很长但比较完整的教程

https://betheme.net/qianduan/105895.html

untiy cmd指令

https://docs.unity3d.com/cn/2022.1/Manual/EditorCommandLineArguments.html    
Unity打包日志输出到Jenkins
https://blog.csdn.net/yy405145590/article/details/84328345

bat语法基础

https://www.bilibili.com/read/cv22973097


15.Jenkins-Unity自动打包搭建流程的评论 (共 条)

分享到微博请遵守国家法律