[关闭]
@Roy270490837 2017-09-04T01:58:03.000000Z 字数 1976 阅读 1815

EApk手持项目分支管理及构建流程

教程


前言

现有的手持客户端代码在开发、测试、打包流程中存在以下的弊端和麻烦

  • 开发版本、测试版本、线上版本代码分割严重
  • 代码合并容易产生大量冲突
  • 代码合并存在漏合并,依赖代码不完整等隐患
  • 测试人员需配备JDK、SDK等Android开发工具,学习成本高
  • 测试人员需直接修改项目代码,存在操作隐患
  • 已发布版本代码回溯困难
  • svn在断网时无法提交保存,切换分支等操作
  • ......

为了尽可能的解决上述缺陷,也为了完成公司项目git仓库迁移的工作,我们进行了手持客户端从svn-git的项目迁移
同时也是为了提升开发的工作效率,以及符合Android开发的趋势,我们也将Android项目从原来的ant构建打包方式转变为更高效、更便捷的Gradle构建
为了让开发更专注于开发,测试更专注于测试,我们做了这次迁移改造工程,借用jenkins集成工具来辅助我们完成一些费事费力的操作,解放大家的双手。以下将介绍如何在新版EApk中进行分支管理以及构建项目的基本流程

分支代码管理

官方规范
original
详见Git版本管理工具操作规范

手持端变更
mark

示意图

  • 开发者以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构建操作详解

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外部写入参数的接口,对部分功能进行改造。请测试在下一次发版前注意以下几个功能点进行回归测试

参考资料

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注