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 作者:弃天笑

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
  • 1505

Jenkins上下游jobs设置(并行、串行)

使用jenkins中,当有多个jobs需要互相关联时,就需要设置jobs的上下游关联关系。比如jobs_A运行后触发jobs_B。 1.Build after other projects a...
  • ouyanggengcheng
  • ouyanggengcheng
  • 2017年07月26日 11:09
  • 2843

Jenkins中各job并行后再触发job

在使用jenkins执行自动化脚本,因为用例过多,所以决定并行job执行来提高效率,当然这个在之前的一篇文件介绍就可以做到,先配置一个job_A,然后用job_B触发两个下游job来实现并行。一开始我...
  • ouyanggengcheng
  • ouyanggengcheng
  • 2017年07月26日 16:02
  • 2198

JENKINS 打包发布脚本

#!/bin/bash #nohup bash check_new_pkgs_dev.sh & #steps below: ##发布的机器上运行这个脚本 #定时遍历发布包存放路径 #1.遍历所有...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2016年07月08日 16:15
  • 1782

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

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

前后端分离WebStorm自动部署到tomcat服务器

打开“设置”对话框, 在Build, Execution, Deployment下面的Deployment新增Deployment, 如下图所示 配置connections 配置Map...
  • chenhaifeng2016
  • chenhaifeng2016
  • 2017年01月25日 11:07
  • 4925

WebStorm安装与使用

一、简介 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为"Web前端开发神器"、"最强大的HTML5编辑器"、"最智能的JavaS...
  • u011781521
  • u011781521
  • 2016年12月10日 16:47
  • 22023

egret的WebView实现(基于egret2.5)

http://blog.csdn.net/xiaoyang0611/article/details/49128077 WebView.ts完整代码及使用方式 /** * WebView ...
  • vegeta_ma
  • vegeta_ma
  • 2018年01月03日 17:40
  • 42

在linux(ubuntu)下部署Egret

ps:花了两天时间在ubuntu上装好了Egret ,然并卵EgretWing 不能垮平台,一大败笔!!! 现将过程记录如下,希望能帮到您!  1》nodejs的安装   2》java jdk的安装...
  • u010797947
  • u010797947
  • 2015年07月14日 17:49
  • 1430

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

jenkins学习笔记---'android' 不是内部或外部命令
  • bihansheng2010
  • bihansheng2010
  • 2016年04月27日 14:33
  • 3261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jenkins搭建Egret H5开发的自动化构建(持续集成)
举报原因:
原因补充:

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