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

原创 2017年07月16日 23:05:29

一、H5游戏开发

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

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

百度的定义:

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

三、Jenkins介绍和安装

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

为了确保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
版权声明:本文为博主原创文章,转载必须声明出处和作者。地址:http://blog.csdn.net/sujun10 作者:弃天笑 https://blog.csdn.net/sujun10/article/details/75212684

robotframework+jenkins运行报Build step 'Execute Windows batch command' marked build as failure解决方法

1.在配置jenkins的job时,添加构建步骤Execute Windows batch command,输入执行robotframework测试用例命令 2.然后jenkins安装rob...
  • ouyanggengcheng
  • ouyanggengcheng
  • 2017-08-17 18:14:47
  • 2484

【Jenkins系列之四】Jenkins构建步骤之windows batch和Shell

Jenkins的job配置中,在构建步骤中,可以选择Ant,maven,windows batch和Shell。 windows batch构建,windows batch构建指的是执行windows...
  • liuchunming033
  • liuchunming033
  • 2015-09-23 17:45:27
  • 14235

第 8 章 Jenkins – 设置Build Job

通过下面的练习,在Jenkins创建一个job,并获取一个简单的HelloWorld应用程序,编译并运行这个Java程序。          step 1:进入Jenkins控制面板然后点击“New...
  • henni_719
  • henni_719
  • 2016-09-12 18:51:58
  • 1567

jenkins学习笔记---'android' 不是内部或外部命令

jenkins学习笔记---'android' 不是内部或外部命令
  • bihansheng2010
  • bihansheng2010
  • 2016-04-27 14:33:18
  • 3570

jenkins 错误java.lang.OutOfMemoryError: Java heap space

Jenkins job 总是失败 即使执行的主体部分已经成功, log里面: Build step 'Execute Windows batch command' marked build as f...
  • adolinzi
  • adolinzi
  • 2017-06-01 15:24:43
  • 1209

某小型公司持续集成工具jenkins实践(JAVA WEB、Android、IOS、Html)

前言本文可能是网上最全的一篇全端jenkins部署解决方案介绍的文章,一直以来,领导都想解决代码提交和打包问题,尤其是小公司,打包流程混乱,造成线上版本和代码库git或svn中代码不一致问题。加入je...
  • qq273681448
  • qq273681448
  • 2017-08-25 22:25:41
  • 708

Jenkins应用篇—Jenkins+Maven打包静态文件

介绍如何使用Maven构建前端工程,通过Publish over SSH插件发布到远程机器上的Nginx。文章中的示例进行了大量的简化,希望对使用Jenkins+Maven构建PHP、H5工程进行构建...
  • houyefeng
  • houyefeng
  • 2016-11-14 22:14:13
  • 3160

Jenkins 集成Egret发布代码

公司web项目前端有项目使用了egret,看网上对这个集成网上的描述比较少,找了一些资料编译成功。 首先安装node和egret,node采用常规wget方式安装,egret采用github下载后安...
  • jackyzheng
  • jackyzheng
  • 2017-06-23 18:25:03
  • 299

解决Jenkins无法编译Egret5.0项目的问题

Egret4.0升级Egret5.0导致Jenkins无法编译项目项目升级到Egret5.0,同时也把Egret的引擎工具更换为EgretLauncher,结果出现问题,原来跑得好好Jenkins,突...
  • sujun10
  • sujun10
  • 2017-07-20 13:24:19
  • 1545

使用Jenkins自动编译部署web应用

使用Jenkins自动编译部署web应用 写在前面 初步接触持续集成自动化过程,本篇主要介绍基于Jenkins实现持续集成的方式,通过案例介绍线上自动编译及部署的配置过程 ...
  • Gavid0124
  • Gavid0124
  • 2016-12-05 11:47:28
  • 9052
收藏助手
不良信息举报
您举报文章:Jenkins搭建Egret H5开发的自动化构建(持续集成)
举报原因:
原因补充:

(最多只允许输入30个字)