转自:https://blog.csdn.net/sujun10/article/details/75212684
一、H5游戏开发
进行H5游戏开发,不仅仅是开发这边事情,还会涉及到美术、策划、以及测试。所以必须为他们也搭建一些运行程序,以便可以及时地了解和测试到最新的开发进度。同时游戏本身也会分成诸多版本,例如测试版、稳定版、数值版、外服等等。这一列的游戏运行环境,总不能手工去进行游戏开发内容的同步,必须做到自动化,才能提高开发效率。因为必须搭建一个自动化构建服务器来满足这一些的需求。
二、自动化构建(持续集成)介绍
百度的定义:
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
三、Jenkins介绍和安装
jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
运行环境:windows 7 这里的win是在linux上虚拟机安装的win77
Jenkins
下载地址:https://jenkins.io/download/
安装过程可能会写漏一些(不是安装时写的blog),不然这个安装基本没什么困难。安装好之后会跳转到这个页面
http://localhost:8080/securityRealm/firstUser
在这里设置自己的帐号密码
为了确保Jenkins由管理员安全设置,密码已经写入日志(不知道在哪里找到?)和服务器上的这个文件:
在浏览器里输入
C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
就会得到一个密码
d41505929a244d428cef21942432ea51
输入进去,就会看到
插件扩展了Jenkins的附加功能,以支持许多不同的需求。
一个是安装社区最有用的插件,一个是选择安装插件,自己根据需要来选择了,反正后面也是可以自己再安装插件的。比我我安装区最有用的插件,如下图
如果熟悉的最好是自己手动安装,选择自己项目需要的,比如svn和git,hg的选择,ant或者maven选择等等
四、安装Jenkins插件
因为项目代码使用了Mercurial作为代码管理,所以必须安装相应的插件。
点系统管理,然后选择插件管理
添加、删除、禁用或启用Jenkins功能扩展插件
选择Mercurial plugin
Allows Jenkins to check out projects from the Mercurial SCM.
五、创建Egret H5游戏的自动化构建任务
开始部署我们的Egret项目的自动化构建了。
源码管理:选择你自己项目的源码管理,有3个选项,svn、git和Mercurial
这里我采用了Mercurial
Credentials 是填你实际的hg账户密码
构建触发器: 选择 Poll SCM
参数:H/30 * * * *
每半小时检测一下,如果hg有更新,则会进行自动构建
具体怎么配置自己想要的时间,可以查Poll SCM的详细设置。
创建两个cmd指令
添加构建步骤:
Execute Windows batch command
这里是调用windows的cmd指令,所以只要cmd可以输入的指令这里都可以填入,可以填入多行,也可以执行bat脚本
build.bat
egret clean //重置项目中的引擎代码
再一个创建指令
Execute Windows batch command
egret build //构建项目
这里根据自己项目需要来创建脚本bat或者直接输入cmd指令。
点击构建
六、解决找不到egret命令的错误
有些系统可能会报下面的错
C:\Program Files (x86)\Jenkins\workspace\pal_dev>egret clean 'egret' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
C:\Program Files (x86)\Jenkins\workspace\pal_dev>exit 9009 Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE
自己在cmd输入egret却可以。
如果在path配置egret指令还是不行,那么就直接加全称好了。
where egret
可以找到egret指令的位置,如下:
C:\Users\sodaChen\AppData\Roaming\npm\egret.cmd
最终是这样:
C:\Users\sodaChen\AppData\Roaming\npm\egret.cmd build
七、最终看下输出结果:
Started by user client
Building in workspace C:\Program Files (x86)\Jenkins\workspace\pal_dev
[sword_dev] $ hg --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" showconfig paths.default
[sword_dev] $ hg --config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https" pull --rev default
pulling from http://192.168.0.10:7582/
还可以看到执行其他执行的信息:
C:\Program Files (x86)\Jenkins\workspace\pal_dev>build.bat
C:\Program Files (x86)\Jenkins\workspace\pal_dev>cd src/core
C:\Program Files (x86)\Jenkins\workspace\pal_dev\src\core>hg pull --verbose http://192.168.0.10:6008/
最后是白鹭的编译信息
C:\Program Files (x86)\Jenkins\workspace\pal_dev>egret build
您正在使用的引擎版本为 5.0.2
正在编译项目...
项目共计编译耗时:21.66秒
Finished: SUCCESS