logo好方法网

持续集成方法、基于分布式编译的持续集成方法及系统


技术摘要:
本发明提供了一种持续集成方法、基于分布式编译的持续集成方法及系统,持续集成方法包括定时获取更新代码,采用静态代码检查工具对更新代码进行静态代码检查。通过预置执行脚本对检查成功的更新代码进行翻译得到针对不同系统平台的待编译文件。对不同系统平台的待编译  全部
背景技术:
在游戏引擎产品的开发中,相关的编辑器和引擎SDK(Software  Develop  ment  Kit,软件开发工具包)由于需要快速迭代、敏捷开发,因此要经常进行版本的更新,并由专 人进行版本的维护,手动更新代码,编译和打包,会涉及到windows、android、ios三个平台 的工作,在自己的机器上进行项目的编译。 大规模游戏项目用virsualStudio,androidStudio,XCode进行编译时,全程需要 人工操作,还需进行资源转换,项目打包,拷贝,技术要求单一,耗费时间长。在修改一些核 心文件的时候,由于有很多依赖关系,完成一次单机编译往往要耗费40分钟以上的时间,而 从整体上分析项目组的所有算力时又发现大部分机器只在少数时候处于高负载条件下,其 余时间处于空闲状态。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的持续集成方法、基于分布式编译的持续集成方法及系统。 根据本发明实施例的一方面,提供了一种持续集成方法,包括: 定时获取更新代码,采用静态代码检查工具对更新代码进行静态代码检查; 通过预置执行脚本对检查成功的更新代码进行翻译得到针对不同系统平台的待 编译文件; 对不同系统平台的待编译文件分别进行编译得到对应的编译结果; 将所述编译结果中的可执行文件按照不同系统平台分别打包,将打包后的可执行 文件上传到指定服务器。 根据本发明实施例的另一方面,还提供了一种基于分布式编译的持续集成方法, 包括: 定时获取更新代码,采用静态代码检查工具对更新代码进行静态代码检查; 通过预置执行脚本对检查成功的更新代码进行翻译得到针对不同系统平台的待 编译文件; 对不同系统平台中指定系统平台的待编译文件进行分布式编译,且对不同系统平 台中其他系统平台的待编译文件分别进行编译,得到对应的编译结果; 将所述编译结果中的可执行文件按照不同系统平台分别打包,将打包后的可执行 文件上传到指定服务器。 根据本发明实施例的又一方面,还提供了一种持续集成系统,包括持续集成服务 器和指定服务器, 4 CN 111580802 A 说 明 书 2/15 页 所述持续集成服务器定时获取更新代码,采用静态代码检查工具对更新代码进行 静态代码检查; 所述持续集成服务器通过预置执行脚本对检查成功的更新代码进行翻译得到针 对不同系统平台的待编译文件; 所述持续集成服务器对不同系统平台的待编译文件分别进行编译得到对应的编 译结果; 所述持续集成服务器将所述编译结果中的可执行文件按照不同系统平台分别打 包,将打包后的可执行文件上传到所述指定服务器。 根据本发明实施例的又一方面,还提供了一种基于分布式编译的持续集成系统, 包括持续集成服务器、分布式编译子系统、指定服务器,其中 所述持续集成服务器定时获取更新代码,采用静态代码检查工具对更新代码进行 静态代码检查; 所述持续集成服务器通过预置执行脚本对检查成功的更新代码进行翻译得到针 对不同系统平台的待编译文件; 所述持续集成服务器通知分布式编译子系统对不同系统平台中指定系统平台的 待编译文件进行分布式编译,且所述持续集成服务器对不同系统平台中其他系统平台的待 编译文件分别进行编译,得到对应的编译结果; 所述持续集成服务器将所述编译结果中的可执行文件按照不同系统平台分别打 包,将打包后的可执行文件上传到指定服务器。 根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储 介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算 设备执行上文任意实施例中的持续集成方法、基于分布式编译的持续集成方法。 根据本发明实施例的另一方面,还提供了一种计算设备,包括:处理器;存储有计 算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备 执行上文任意实施例中的持续集成方法、基于分布式编译的持续集成方法。 本发明实施例采用静态代码检查工具对更新代码进行静态代码检查,可以尽早地 发现代码的编码错误,以提高后续的编译效率和持续集成效率。采用本发明实施例的持续 集成方案可以针对不同系统平台自动完成较为繁琐的程序更新工作,不仅大大节省了人力 成本,显著提高了产品项目的构建效率,还可以在保证数据安全性的基础上完善项目组整 体工作流程。进一步地,对指定系统平台采用分布式编译方式,通过将待编译的文件分发至 多个分布式编译机器上进行分布式编译,不仅可以有效地缩短编译时长,也解决了部分编 译机器由于长期处于空闲状态而无法得到充分利用的问题,合理的利用了编译机器资源。 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的
分享到:
收藏