unity自动化构建工具和方法

前言:在游戏开发中经常需要一些自动化构建工具,比如打包工具,测试工具等等。以前我都是通过cmd运行python命令去完成自动化构建工作,但是这样就要跑到打包机上操作,过程麻烦,而且还不能跨部门打包。本篇博文就记录jenkins+python来实现自动构建的过程。

集成Python:python的介绍我这里就不赘述了,可以去官网 查看。学习课程可以去菜鸟教程 查看。
1.python下载如图所示:
这里写图片描述

2.python安装如图所示:选择自定义安装,然后next直到安装结束。
这里写图片描述

集成idea python:一个好的开发工具可以节省开发者不少时间。 由于我的idea是2017.3.5,对应的内件版本是173.4674.33,所以这里我也是下载对应这个版本的python插件。
1.idea python下载方式如图所示:
这里写图片描述
2.idea python安装方式如图所示:
这里写图片描述
3.idea创建python项目并新建文件运行如图所示:
这里写图片描述
这里写图片描述

集成pycharm:pycharm是非常专业的python开发工具。上文介绍了还可以使用idea+python插件形式来开发python,但是python版本是必须和idea同步,一旦版本不对应就会出现python插件不能用的情况。而项目开发中经常会出现python2.x和python3.x版本代码。所以我还是建议使用pycharm来编写python文件。这里给出一些有用链接:
pycharm的安装:https://www.cnblogs.com/dcpeng/p/9031405.html
pycharm的破解:https://blog.csdn.net/yanjiangdi/article/details/80508981
pycharm多python版本设置:https://blog.csdn.net/qwerty200696/article/details/53015922

集成Jenkins:jenkins的简介我就不赘述了,可以去官网查看。
1.下载jenkins:
windows平台:可以从http://mirrors.jenkins-ci.org/windows/latest下载。
mac/linux等平台:可以从http://mirrors.jenkins-ci.org/war/latest/jenkins.war下载。

2.安装jenkins:
windows平台安装:安装过程很简单,无需特殊说明,按照安装步骤next就好。
mac平台安装:可以参考https://www.jianshu.com/p/897b9a8fb210来进行安装。
linux平台安装:可以参考http://www.jenkins.org.cn/968.html来进行安装。

3.配置jenkins:以下记录jenkins常规配置。分别如下:
1.安装后会自动创建一个jenkins服务,默认使用端口是8080,如果需要修改,打开安装目录下的jenkins.xml文件,有这样一行 -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “%BASE%\jenkins.war” –httpPort=8080配置,修改其中的端口号后保存,然后启动jenkins服务就可以了。我这里就不改了,还是继续保持8080端口不变。

2.访问http://localhost:8080,首次作为管理员登录需要初始密码,初始密码在安装过程中生成在安装目录下\Jenkins\secrets\initialAdminPassword文件中。 如图所示:
这里写图片描述
3.选择一些可选的插件安装,有些插件会由于防火墙或网络等原因安装失败,不过没关系,你可以暂时不去安装它,在稍后可以再次进行配置。 如图所示:
这里写图片描述
4.创建一个账户或者利用管理员继续,此处我按照管理员继续操作。如图所示:
这里写图片描述
5.配置实例:创建jenkins对外的url。如图所示:
这里写图片描述
6.设置环境变量:在系统管理->全局属性->环境变量中进行配置,我这边将python环境变量配置到jenkins中,否则运行python指令时就找不到命令。当然jenkins中想要运行其他命令也需要把对应的环境变量在此处进行配置。python环境变量设置如图所示:
这里写图片描述
7.新建任务:选择“新建”,如图所示:
这里写图片描述
8.配置任务:任务存在很多配置项,具体每项对应的功能,可以去上面说的jenkins官网上去查。这里我就用了几项而已,如图所示:
这里写图片描述
这里写图片描述
9.构建任务并查看日志:构建任务的方式有两种,分别如图所示:
这里写图片描述
这里写图片描述
运行的日志可以在console上查看,如图所示:
这里写图片描述
10.jenkins的关闭操作:只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit 网址就能关闭jenkins服务。

11.jenkins的重启操作:只需要在浏览器地址栏上敲下http://localhost:8080/restart网址就能重启enkins服务。

12.jenkins的重载操作:只需要在浏览器地址栏上敲下http://localhost:8080/reload网址就能重载enkins服务。

unity命令操作:unity的自动化构建肯定离不开unity的命令操作。常见的unity命令如下所示:
-quit:unity命令执行完后退出unity。
-batchmode:后台静默执行,不会加载unity场景,也不能构建任何unity对象。当不设置batchmode时就是打开unity前台执行,此时会加载unity常见,也能构建unity对象。
-logFile:用来指定unity命令操作的日志文件,此时unity引擎和开发者的打印信息都会记录到这个日志文件中。此时我们可以在脚本中读取这个日志文件并打印内容同步显示到jenkins上。
-projectPath:指定unity执行的工程路径。
-executeMethod:用来指定unity执行工程时调用的静态函数,我们通常在该静态接口中完成构建的完整或者部分流程。当静态函数执行完毕后,相当于执行了EditorApplication.Exit(0)向命令调用者返回0状态码。在构建出现问题时,可以调用EditorApplication.Exit(code)来退出静态函数执行并向命令调用者返回code状态码。

unity日志实时输出:为了方便查看unity构建信息,把控构建流程,我们需要将unity的日志实时输出到jenkins等媒介上,可以参考https://www.jianshu.com/p/bd97cb8042a9。这个博客介绍了如何将unity日志实时输出并提供了源码,当然不同项目可以做适当修改。

静态文件服务器:构建完毕后我们一般需要将构建好的资源放置到文件服务器上。在运维不能及时跟进时,我们可以自己来搭建一个简单的静态文件服务器。搭建的方式如下:
1.Apache搭建形式:需要自己安装php的环境以及部署等工作,流程相对复杂。
2.Go搭建形式:需要用go语言来实现,据说搭建很简单,我同事就是用go搭建了一个文件服务器,感兴趣的朋友可以参考https://www.jianshu.com/p/eea905386f84
3.Python搭建形式:需要用python语言来实现,也是很简单,就一行命令就可以将当前执行命令的目录作为文件服务器。以下给出一些的链接供大家参考:
请求处理:这个https://blog.csdn.net/linux_hacher/article/details/78753805链接提供了post的处理解决方案,也可以继承自SimpleHttpRequestHandle来内置包含Get和Head请求处理解决方案。
并发服务器:一般直接使用python - m SimpleHttpServer port或者python - m BaseHttpServer port命令就可以直接开启服务器。但是这个服务器不支持并发。要想支持多人并发请求处理,可以参考https://baijiahao.baidu.com/s?id=1552410110371484&wfr=spider&for=pc

猜你喜欢

转载自blog.csdn.net/zjz520yy/article/details/81120600