@Roy270490837
2017-09-04T09:58:03.000000Z
字数 1976
阅读 1923
教程
现有的手持客户端代码在开发、测试、打包流程中存在以下的弊端和麻烦
- 开发版本、测试版本、线上版本代码分割严重
- 代码合并容易产生大量冲突
- 代码合并存在漏合并,依赖代码不完整等隐患
- 测试人员需配备JDK、SDK等Android开发工具,学习成本高
- 测试人员需直接修改项目代码,存在操作隐患
- 已发布版本代码回溯困难
- svn在断网时无法提交保存,切换分支等操作
- ......
为了尽可能的解决上述缺陷,也为了完成公司项目git仓库迁移的工作,我们进行了手持客户端从svn-git的项目迁移
同时也是为了提升开发的工作效率,以及符合Android开发的趋势,我们也将Android项目从原来的ant构建打包方式转变为更高效、更便捷的Gradle构建
为了让开发更专注于开发,测试更专注于测试,我们做了这次迁移改造工程,借用jenkins集成工具来辅助我们完成一些费事费力的操作,解放大家的双手。以下将介绍如何在新版EApk中进行分支管理以及构建项目的基本流程
官方规范
详见Git版本管理工具操作规范
手持端变更
- 开发者以develop分支为基准分支,并根据任务派生feature分支
(分支命名规范为:姓名拼音_bug|task_任务Id_简要描述。多任务组合开发的用项目Id代替任务Id创建分支)
- 测试人员在对应的feature任务分支下进行功能单元测试
(测试人员在打包前需先让开发人员优先合并develop分支代码,测试出bug由开发人员直接在当前分支下进行修复)
- 测试通过后,feature任务对应的开发人员将代码合并到test分支,测试人员在test分支进行集成测试
(开发人员push代码前需优先merge test分支上的代码,在本地解决冲突后再进行提交)
- 测试全部通过后,由开发将test分支合并至对应的release分支,项目进入预发布状态
(release分支即为以前的Beta环境,测试进行回归测试)
- releaes分支代码上线后,由开发合并代码至dvelop分支、master分支,并对master分支按照版本号打tag
(代码进行线上验证测试)
- 紧急bug修复根据紧急情况,可在feature分支直接修改、test分支派生、master分支派生
- 开发人员需对feature分支及时清理,release分支保留最新3个版本
jenkins构建地址为http://192.168.1.160:8080/ (链接需先连上公司VPN)
如下图所示选中Eapk子目录下可查看所有可供构建的progect,其中
SCB-EApk-Feature-1为功能测试项目,可自行选择分支进行构建
SCB-EApk-Test为Test分支构建项目,用于集成测试
SCB-EApk-Release为release分支构建项目,用于构建预发布Apk
SCB-EApk-Version为回溯历史版本项目,可根据tag构建历史版本
其中SCB-EApk-Feature-1构建项目包含了所有可自行设置的参数,以下以该分支进行构建流程讲解
1.进入SCB-EApk-Feature-1 peoject后点击左侧栏目Build with Parameters按钮
2.根据提供的参数设置按照自身测试需要进行个性化设置,具体含义在对应选项下方有注释。如图操作2修改debug包的HOST地址为自己本地地址
3.选中所需要测试的分支,如图选择测试分支为origin/feature/lyb_task_120684
4.点击开始构建,等待构建完成
5.构建完成后选择工作栏左侧工作空间按钮
6.在右侧弹出的目录文件中选择apk文件夹
7.在打开的页面选中所需要的apk既可直接下载
除了GIT_BRANCH选项为分支选项之外,其余的参数将会直接注入Apk代码中,请谨慎设置
项目是按照最近一次线上版本(1.0.7-29)为基准进行迁移,原则上功能代码不会变化,但是由于配置了提供jenkins外部写入参数的接口,对部分功能进行改造。请测试在下一次发版前注意以下几个功能点进行回归测试
回归测试用例点
网络请求,已登陆功能为例
按框配货,获取数据JAVA
按框配货,更改框状态JAVA
面单打印
Apk下载更新安装流程
推送服务
其他基本功能操作
旧有已开发的任务代码并未迁移,需产品及测试按照紧急程度排序,开发人员按照功能迁移表进行代码迁移