【技术实现步骤摘要】
一种ReactNative应用自动化打包发布的方法及系统
本专利技术涉及计算机软件
,尤其涉及一种ReactNative应用自动化打包发布的方法及系统。
技术介绍
ReactNative(简称RN)是Facebook开源的跨平台移动应用开发框架,支持ios和android两大平台,是目前运用最广泛的移动应用开发框架。ReactNative应用打包发布过程是较为繁琐的,从JavaScript代码编译打包,到应用打包,再到应用发布,都需要依靠开发人员来手动完成,如果涉及到应用多渠道打包和多平台发布,那整个过程将更为繁琐且耗时。而每一次的版本发布,开发人员都需要重复这一过程。
技术实现思路
本专利技术的目的在于提供一种ReactNative应用自动化打包发布的方法及系统,可通过一键触发,或通过配置类似定时策略等打包策略来自动触发,便可全程无人监守自动完成代码编译、多渠道打包、多平台发布,极大简化ReactNative应用打包发布流程,同时最大化减少人力的重复操作。本专利技术由如下技术方案实施:一种ReactNative应用自动化打包发布的方法,包括以下步骤:配置任务触发环节,支持三种任务触发方式:代码提交触发、定时任务触发、一键触发,其中:代码提交触发通过检测代码仓库的代码提交动作自动触发任务执行;定时任务触发通过配置定时任务使得在特定时间自动触发任务执行;一键触发通过相关人员手动触发任务执行;代码更新环节,打包发布任务触发后,进入代码更新,如果代码更新过程中捕获到 ...
【技术保护点】
1.一种React Native应用自动化打包发布的方法,其特征在于,包括以下步骤:/n配置任务触发环节,支持三种任务触发方式:代码提交触发、定时任务触发、一键触发,其中:代码提交触发通过检测代码仓库的代码提交动作自动触发任务执行;定时任务触发通过配置定时任务使得在特定时间自动触发任务执行;一键触发通过相关人员手动触发任务执行;/n代码更新环节,打包发布任务触发后,进入代码更新,如果代码更新过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;/n编译校验环节,如果编译校验过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;/n编译打包环节,如果编译打包过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;/n应用发布环节,如果应用发布过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;/n最后通过邮件或者短信方式通知责任人应用发布成功。/n
【技术特征摘要】
1.一种ReactNative应用自动化打包发布的方法,其特征在于,包括以下步骤:
配置任务触发环节,支持三种任务触发方式:代码提交触发、定时任务触发、一键触发,其中:代码提交触发通过检测代码仓库的代码提交动作自动触发任务执行;定时任务触发通过配置定时任务使得在特定时间自动触发任务执行;一键触发通过相关人员手动触发任务执行;
代码更新环节,打包发布任务触发后,进入代码更新,如果代码更新过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;
编译校验环节,如果编译校验过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;
编译打包环节,如果编译打包过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;
应用发布环节,如果应用发布过程中捕获到异常,则邮件通知责任人任务执行失败,并附件相关任务日志,结束任务;反之,则进入下一步;
最后通过邮件或者短信方式通知责任人应用发布成功。
2.根据权利要求1所述的一种ReactNative应用自动化打包发布的方法,其特征在于,所述代码更新环节具体为:
从配置中读取代码仓库类型、代码仓库地址、本地代码检出路径;
判断本地代码检出目录是否存在,如果不存在,则在本地创建代码检出路径,如果存在,则进入下一步;
根据代码仓库类型配置,选择进入SVN、GIT或者CVS更新模块,更新代码至本地。
3.根据权利要求1所述的一种ReactNative应用自动化打包发布的方法,其特征在于,所述编译校验环节具体为:
从编译资源集中读取应用配置文件config.json,并写入到相应的应用工程配置文件中;
从编译资源集中读取索引文件index.json,索引文件index.json是以文件名filename作为关键字和以文件目标路径destination作为值的键值对,遍历键值对;其中filename对应了编译资源集中的文件,destination对应其需要写入的应用工程中的文件的路径;
读取键值对filename和destination;
根据关键字filename从编译资源集中读取到相应文件,根据destination将该文件写入到应用工程中的指定文件中;
判断当前是否是最后一个键值对,如果不是则返回第三步,反之则结束编译校验。
4.根据权利要求1所述的一种ReactNative应用自动化打包发布的方法,其特征在于,所述编译打包环节具体为:
通过reactnativebundle命令,将工程中的js代码打包成bundle文件;
读取配置中的应用平台类型,判断是ios平台还是android平台,如果是ios平台,则进入xcodebuild编译模块,如果是android平台,则进入gradle编译模块;
输出应用安装包到指定路径。
5.根据权利要求1所述的一种Rea...
【专利技术属性】
技术研发人员:邹俊达,何安松,
申请(专利权)人:深圳市同洲电子股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。