[发明专利]一种基于jenkins的混合开发项目打包方法和相关设备在审
申请号: | 202210212100.5 | 申请日: | 2022-03-01 |
公开(公告)号: | CN114579177A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 季皓男;李泽隆 | 申请(专利权)人: | 广州提亚信息技术有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/41 |
代理公司: | 广州佳睿知识产权代理事务所(普通合伙) 44610 | 代理人: | 李健富 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 jenkins 混合 开发 项目 打包 方法 相关 设备 | ||
本发明涉及基于jenkins的混合开发项目打包方法及相关设备,所述方法包括步骤:发起并构建安卓打包任务;获取混合开发项目中的非安卓产物的项目信息;对所述非安卓产物进行引用替换;执行完整的安卓打包流程。本发明从整体构建流程中将非安卓产物的构建项目抽离,以Flutter构建任务为例,即实现Flutter构建任务与Android构建任务进行拆分。针对Flutter构建任务与Android构建任务进行分别管理,Flutter工程在Jenkins中可以采用串行构建,Android工程在Jenkins中采用并行构建。从而解决了Flutter工程在Jenkins任务执行中发生Flutter工程的并行编译的问题。
技术领域
本发明属于安卓开发技术领域,尤其涉及一种基于jenkins的混合开发项目打包方法和相关设备。
背景技术
实际生产过程中,在手机app的测试阶段以及上线阶段,是借助Jenkins打包机,对Android工程进行打包生成apk安装包。
在测试阶段,测试人员操作Jenkins打包机进行Android工程打包,生成apk安装包,进行测试。
在上线阶段,测试人员操作Jenkins打包机进行Android工程打包,生成apk安装包,提交给市场人员用于将apk安装包,进行应用市场的发布。
在实际生产过程中,手机app都会面临多分支并行开发,以提升产品需求的交付效率。为此,测试人员在操作Jenkins打包机时,针对单个Android工程,会依据需求情况,创建多个构建任务,采用并发的方式使用Jenkins打包。
随着Flutter跨平台技术的逐渐兴起,企业为进行开发人效的提升,逐渐拥抱原生+Flutter的混合开发方式,运用Flutter跨端技术实现手机app的功能研发。
引入Flutter混合开发的Android工程,对于Jenkins的打包流程的影响如下,关键在原Jenkins执行Android工程构建前,加入“Flutter操作”。针对采用的Flutter混合开发方式不同,“Flutter操作”也会有所不同。
如图1及图2所示分别为未接入Flutter的安卓工程构建和接入Flutter的安卓工程构建,其中,按照现有的Flutter混合开发方式不同,Jenkins在“Flutter操作”的现有技术主要有两种方式,一种为源码依赖方式(如图3所示),另一种为产物依赖方式(如图4所示)。
然而,对于一个采用了Flutter混合开发的Android工程而言,当测试人员使用Jenkins打包机针对该工程的不同分支进行并发构建时,由于Flutter工程的依赖库是全局共用的,当Flutter工程发生并发执行时,Flutter自身编译报错,导致构建任务终止,从而引起打包失败,进而导致Jenkins任务执行失败,导致无法生成apk安装包文件。
发明内容
本发明实施例提供一种基于jenkins的混合开发项目打包方法,旨在解决现上述技术问题。
第一方面,本发明实施例提供一种基于jenkins的混合开发项目打包方法,包括步骤:
发起并构建安卓打包任务;
获取混合开发项目中的非安卓产物的项目信息;
对所述非安卓产物进行引用替换;
执行完整的安卓打包流程。
优选的,所述获取混合开发项目中的非安卓产物的项目信息的步骤之前还包括:
确认所述混合开发项目中非安卓产物是否已在安卓打包任务中完成任务构建;
若没有完成,则建立所述非安卓产物在安卓打包任务中的任务构建,其中,所述非安卓产物的任务构建为串行构建。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州提亚信息技术有限公司,未经广州提亚信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210212100.5/2.html,转载请声明来源钻瓜专利网。