一种自动编译和发布的实现方法及系统的制作方法

文档序号:9708131阅读:191来源:国知局
一种自动编译和发布的实现方法及系统的制作方法
【技术领域】
[0001]本发明涉及操作系统技术领域,尤其涉及的是一种自动编译和发布的实现方法及系统。
【背景技术】
[0002]SVN是Subvers1n的简称,是一个开放源代码的版本控制系统,主要用于管理源代码或版本迭代文件。相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迀移到Sub vers 1n。
[0003]由于SVN没有相应的远程管理工具,只能连接服务器并用命令行操作,故操作较复杂。为此,SVN倶乐部开发出SVN管家对SVN进行远程管理。SVN管家推出了 windows版本和linux版本,部署时很方便,不用安装额外的环境,如mysql、PHP或JAVAJVN管家不仅可以方便的远程修改用户密码,更可以对SVN进行远程管理,极大地方便了 SVN的用户。
[0004]目前大部分公司用户的代码管理是通过SVN或者GIT(即分布式版本控制系统)等源码管理工具进行管理的,故用户编译时候若本地代码已经被改动,如果用户需布最新版本的编译结果时,则需先通过SVN服务器或者GIT服务器更新源码。然后,由于Android编译系统已经十分完善,对开发者而言,编译只需要敲几个命令即可,但是对于非开发者而言,比如测试人员,就很难快速熟悉和编译各个Android平台。
[0005]SVN服务器或者GIT服务器上的代码有时仅针对开发者开放,对于非开发者不开放,这对非开发者(如测试人员)极不方便。同时,由于目前很多Android项目迭代更新非常频繁,而每次发布由于发布者不同,可能导致发布出来的结果包含内容不尽相同,可读性和可用性都较差。
[0006]而且,目前Android系统从源码编译到发布,都需要直接跟代码交互,通过串口输入编译命令来完成编译,发布版本也需要用户手动上传。当项目过多时,版本管理比较混乱,给用户带来很多不便。同时,也不支持定时编译,而且用户还需要通过记住各种编译命令来进行指定编译操作。所以,在代码编译和版本发布环节上,就给用户带来了很大的工作量,工作效率不高。
[0007]可见,现有技术中存在以下缺陷:
1)由于编译过程依赖于串口操作,而且各个平台编译命令不一致,环境变量不一致,导致编译起来很复杂,影响版本正常发布;
2)每增加一个项目的编译,就需要多开一个串口,增加了用户的工作量;
3)不支持定时编译,当项目紧急时,代码更新频繁,需要定期出一个发布版本或测试版本;
4)每个操作用户都需要手动输入命令,比如下载代码、设置环境变量、上传发布包等,非常繁琐;
5)从SVN服务器中下载源代码,使得源代码开放,但有些公司不希望公开源代码。
[0008]因此,现有技术还有待于改进和发展。

【发明内容】

[0009]鉴于上述现有技术的不足,本发明的目的在于提供一种自动编译和发布的实现方法及系统,旨在解决现有技术中Android系统从源码编译到发布,都需要直接跟代码交互,通过串口输入编译命令来完成编译,发布版本也需要用户手动上传,同时也不支持定时编译,而且用户还需要通过记住各种编译命令来进行指定编译操作,导致在代码编译和版本发布环节上,就给用户带来了很大的工作量,工作效率不高的缺陷。
[0010]本发明的技术方案如下:
一种自动编译和发布的实现方法,其中,包括步骤:
客户端检测到用户的操作数据时,则将所述操作数据封装并上传至服务端;
服务端解析封装的操作数据得到对应的操作类型,并将操作类型发送至编译端;
编译端根据操作类型调用对应的编译入口脚本,以操作数据为输入参数执行编译入口脚本得到执行结果,并将执行结果经由服务端发送至客户端。
[0011]所述自动编译和发布的实现方法,其中,所述操作数据对应的操作类型包括查看指令、非定时编译指令及定时编译指令。
[0012]所述自动编译和发布的实现方法,其中,所述服务端解析封装的操作数据得到对应的操作类型,并将操作类型发送至编译端的步骤具体包括:
服务端接收封装的操作数据,新建线程并对封装的操作数据进行解析,得到解析数据,并存储解析数据;
判断解析数据中是否包括配置信息;
当解析数据中包括配置信息时,则将配置信息及操作类型发送至编译端;
当解析数据中不包括配置信息时,则将服务端预先存储的配置信息及操作类型发送至编译端。
[0013]所述自动编译和发布的实现方法,其中,所述编译端根据操作类型调用对应的编译入口脚本,以操作数据为输入参数执行编译入口脚本得到执行结果,并将执行结果经由服务端发送至客户端的步骤具体包括:
编译端根据操作类型调用对应的编译入口脚本,以操作类型为输入参数,并根据配置信息执行编译入口脚本得到执行结果;
将执行结果发送至服务端,并经服务端中线程读取后发送至客户端。
[0014]所述自动编译和发布的实现方法,其中,还包括:
所述客户端接收经由服务端发送的执行结果,并在客户端上进行显示。
[0015]—种自动编译和发布的实现系统,其中,包括:
客户端,用于检测到用户的操作数据时,则将所述操作数据封装并上传至服务端;服务端,用于解析封装的操作数据得到对应的操作类型,并将操作类型发送至编译端;编译端,用于根据操作类型调用对应的编译入口脚本,以操作数据为输入参数执行编译入口脚本得到执行结果,并将执行结果经由服务端发送至客户端。
[0016]所述自动编译和发布的实现系统,其中,所述操作数据对应的操作类型包括查看指令、非定时编译指令及定时编译指令。
[0017]所述自动编译和发布的实现系统,其中,所述服务端具体包括: 解析单元,用于接收封装的操作数据,新建线程并对封装的操作数据进行解析,得到解析数据,并存储解析数据;
判断单元,用于判断解析数据中是否包括配置信息;
第一控制单元,用于当解析数据中包括配置信息时,则将配置信息及操作类型发送至编译端;
第二控制单元,用于当解析数据中不包括配置信息时,则将服务端预先存储的配置信息及操作类型发送至编译端。
[0018]所述自动编译和发布的实现系统,其中,所述编译端具体包括:
脚本执行单元,用于根据操作类型调用对应的编译入口脚本,以操作类型为输入参数,并根据配置信息执行编译入口脚本得到执行结果;
结果发送单元,用于将执行结果发送至服务端,并经服务端中线程读取后发送至客户端。
[0019]所述自动编译和发布的实现系统,其中,所述客户端接收经由服务端发送的执行结果,并在客户端上进行显示。
[0020]有益效果:本发明实现了自动编译系统从源码编译到项目发布一体化,用户只需从客户端页面即可完成编译到发布的所有操作,同时还能进行多个项目的编译管理,而且能确保每次编译和发布的内容都全面完整,非常简便。同时,用户还可以进行定时编译,还可以指定编译流程,针对不同情况执行不同的编译流程,极大提高了工作效率。
【附图说明】
[0021]图1为本发明所述自动编译和发布的实现方法较佳实施例的流程图;
图2为客户端的操作页面中导入配置文件的界面示意图;
图3为客户端的操作页面中常用编译的界面示意图;
图4为客户端的操作页面中定时编译的界面示意图;
图5为本发明所述自动编译和发布的实现方法中步骤S102的具体流程图;
图6为本发明所述自动编译和发布的实现方法中步骤S103的具体流程图;
图7为本发明所述自动编译和发布的实现系统较佳实施例的结构框图;
图8为图7所示系统中服务端的具体结构框图;
图9为图7所示系统
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1