Lohanry

宠辱不惊,绝不妄自菲薄

少年,你对力量一无所知


一个浪荡的程序猿

Jenkins持续集成Unity游戏项目支持多渠道多地区版

Jenkins持续集成Unity游戏项目

Jenkins的安装部署和配置

Jenkins中的Android打包任务设计

Jenkins中的iOS打包任务设计

Jenkins中的测试任务设计

项目需求:

Unity的游戏项目 区分大陆,台服,等不同服。大陆Android区分多渠道需要接入不同SDK和支付等。

目前打包:

Unity开发组完成开发后–》打出分支–》导出Unity的ios和android原生工程包–》原生项目进行各种调节并接入渠道SDK进行打包–》针对不同项目进行签名–》内部QA测试–》加固程序包–》正式上线

修改后打包:

进入Jenkins启动任务–》等待任务完成–》测试–》上线

什么是Jenkins

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks such as building, testing, and deploying software.

也就是简单来说Jenkins就是一个框架可以帮你把构建,测试部署等一系列的操作连接起来。让人从重复的工作中脱离出来。

Jenkins的部署:

Jenkins的安装部署可以直接参考这个官网的流程来非常的简单。

1. 本人采取的Jenkins使用的是一个Master连接多个Node进行整个的流程。

Jenkins结构

Master是架设在内部的服务器上为的是可以24小时随时的访问,如果架设在打包机器或者某个PC上会有下线的时间而且PC长时间开机不太好也有风险。
Node是按任务来区分,iOS的打包是分在了Mac上的,Android的打包是分布在Windows的设备上。
由于项目从Check Out到打包出一个Apk时间持续大概1个小时,所以全部分布在一台电脑上不太好。
Node而且支持水平的扩张,如果以后不同地区服多了可以分开多个部署设备进行同时打包进行加快时间。

2. Unity项目结构

Unity项目结构

目录jenkins为其的在Node上的主目录。workspace为工作目录,svn等项目checkout的目录我一般放在这边。
下级目录的名字对应着Jenkins中的Job如下 JenkinsJob

Trunk,branch都是对应着SVN检出的目录,在Jenkins中使用源码管理时候会自动创建。

3. Android与iOS结构

Andorid结构

UnityAndroid下分不同服的Android工程。
不同服的Android目录下是分不同渠道的Android工程包。
里面有不同的支付的SDK等。
设计这样1个有历史遗留的问题,2,也方便多个部分的协同开发,因为Android的工程维护并不是我们公司自己。

Ant的配置

在Unity导出前需要对Unity进行操作。
不同区服需要删除不同的Unity目录。
并且进行简繁体的转换,使用的是Unity的Editor脚本。
导出完成后需要与Android工程进行合并。
最后打包。

总结:

总体的使用Jenkins的思路是这样的,接下来会分多个文章进行描述现在项目的配置。

最后做个小广告~
喜欢的可以转载下我的小文章
Blog:http://www.hailantown.com

最近的文章

Jenkins的安装部署和配置

Jenkins持续集成Unity游戏项目Jenkins的安装部署和配置Jenkins中的Android打包任务设计Jenkins中的iOS打包任务设计Jenkins中的测试任务设计Jenkins的下载Jenkins可以点击链接跳转下载。推荐下载Jenkins的war包,然后再自己的服务器上安装Tomact然后直接上传war包然后来部署Jenkins。用这个办法是为了避免直接使用例如windows的exe安装包安装之后是无法修改Jenkins的主目录,它默认是存储在你的C盘下。像我现在的工作...…

继续阅读
更早的文章

PendingIntent中Flags的参数设置

PendingIntent是一个Intent的描述、包装,给予了这个PendingIntent 的组件在指定的事件发生或指定的时间到达时启动Activty、Service或者Broadcast。根据是要启动Activity、Service还是Broadcast分别对应一个获取PendingIntent的方法 public static PendingIntent getActivity(Context context, int requestCode,Intent intent, int...…

继续阅读