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的安装部署可以直接参考这个官网的流程来非常的简单。
-
###本人采取的Jenkins使用的是一个Master连接多个Node进行整个的流程。
Master是架设在内部的服务器上为的是可以24小时随时的访问,如果架设在打包机器或者某个PC上会有下线的时间而且PC长时间开机不太好也有风险。 Node是按任务来区分,iOS的打包是分在了Mac上的,Android的打包是分布在Windows的设备上。由于项目从Check Out到打包出一个Apk时间持续大概1个小时,所以全部分布在一台电脑上不太好。 Node而且支持水平的扩张,如果以后不同地区服多了可以分开多个部署设备进行同时打包进行加快时间。
-
##Unity项目结构
目录jenkins为其的在Node上的主目录。workspace为工作目录,svn等项目checkout的目录我一般放在这边。下级目录的名字对应着Jenkins中的Job如下
Trunk,branch都是对应着SVN检出的目录,在Jenkins中使用源码管理时候会自动创建。
-
###Android与iOS结构
UnityAndroid下分不同服的Android工程,不同服的Android目录下是分不同渠道的Android工程包,里面有不同的支付的SDK等,设计这样1个有历史遗留的问题,2,也方便多个部分的协同开发,因为Android的工程维护并不是我们公司自己。
#Ant的配置
在Unity导出前需要对Unity进行操作,不同区服需要删除不同的Unity目录,并且进行简繁体的转换,使用的是Unity的Editor脚本,导出完成后需要与Android工程进行合并。最后打包。
#总结: 总体的使用Jenkins的思路是这样的,接下来会分多个文章进行描述现在项目的配置。
希望喜欢的朋友可以关注我一下,点个赞,转载的朋友麻烦备注下来源,原创写的文章不容易。