Jenkins搭建Egret H5开发的自动化构建(持续集成)

一、H5游戏开发

进行H5游戏开发,不仅仅是开发这边事情,还会涉及到美术、策划、以及测试。所以必须为他们也搭建一些运行程序,以便可以及时地了解和测试到最新的开发进度。同时游戏本身也会分成诸多版本,例如测试版、稳定版、数值版、外服等等。这一列的游戏运行环境,总不能手工去进行游戏开发内容的同步,必须做到自动化,才能提高开发效率。因为必须搭建一个自动化构建服务器来满足这一些的需求。

二、自动化构建(持续集成)介绍

百度的定义:

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

三、Jenkins介绍和安装

jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

  • 运行环境:windows 7 这里的win是在linux上虚拟机安装的win77
  • Jenkins
    下载地址:https://jenkins.io/download/
    安装过程可能会写漏一些(不是安装时写的blog),不然这个安装基本没什么困难。安装好之后会跳转到这个页面
    http://localhost:8080/securityRealm/firstUser
    在这里设置自己的帐号密码

为了确保Jenkins由管理员安全设置,密码已经写入日志(不知道在哪里找到?)和服务器上的这个文件:
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第1张图片
在浏览器里输入

C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword

就会得到一个密码

d41505929a244d428cef21942432ea51

输入进去,就会看到
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第2张图片
插件扩展了Jenkins的附加功能,以支持许多不同的需求。
一个是安装社区最有用的插件,一个是选择安装插件,自己根据需要来选择了,反正后面也是可以自己再安装插件的。比我我安装区最有用的插件,如下图
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第3张图片
如果熟悉的最好是自己手动安装,选择自己项目需要的,比如svn和git,hg的选择,ant或者maven选择等等
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第4张图片

四、安装Jenkins插件

因为项目代码使用了Mercurial作为代码管理,所以必须安装相应的插件。
系统管理,然后选择插件管理

添加、删除、禁用或启用Jenkins功能扩展插件

选择Mercurial plugin

Allows Jenkins to check out projects from the Mercurial SCM.

五、创建Egret H5游戏的自动化构建任务

开始部署我们的Egret项目的自动化构建了。
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第5张图片
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第6张图片
源码管理:选择你自己项目的源码管理,有3个选项,svn、git和Mercurial
这里我采用了Mercurial
Jenkins搭建Egret H5开发的自动化构建(持续集成)_第7张图片

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

你可能感兴趣的:(软件教程,Html5)