分布式软件系统的自动化持续集成与交付方法、装置和系统制造方法及图纸

技术编号:18367157 阅读:37 留言:0更新日期:2018-07-05 08:07
本发明专利技术涉及计算机领域,公开了一种分布式软件系统的自动化持续集成与交付方法,包括以下步骤,响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。本发明专利技术以Jenkins为基础,借助工具ansible,实现了以上操作步骤。此方法带来的优点有:技术人员通过web界面直观操作;更新动作实时邮件通知、可追溯、可诊断;降低使用门槛,使用起来方便快捷,不容易出错。

Automated continuous integration and delivery methods, devices and systems for distributed software systems

The invention relates to the computer field, exposes a method of automatic continuous integration and delivery of a distributed software system, including the following steps, responding to the user's access compilation action, building a compilation task, drawing code from the code warehouse, packing the compiled code to form a package, and will The program package is written into the product library; in response to the user's access update action, the publication task is built, the corresponding package is obtained from the product library, the obtained program package will be sent to the corresponding system server, and the system server updates the program package. The invention realizes the above operation steps with the aid of tool ansible based on Jenkins. The advantages of this method are: the technical personnel operate through the web interface; update action real-time mail notification, traceability, and diagnosable; reduce the use of threshold, easy to use, not easy to make mistakes.

【技术实现步骤摘要】
分布式软件系统的自动化持续集成与交付方法、装置和系统
本专利技术涉及计算机
,尤其涉及了一种分布式软件系统的自动化持续集成与交付方法、装置和系统。
技术介绍
目前,测试、预发环境基于不同版本分支产出的应用程序存在管理复杂,部署易出错,难以追溯;同时高频次的版本发布让运维人员去参与一些重复性的工作。为了降低运维成本,解决研发到测试的交付物不同源、保证构建环境与生产环境一致性;以此提供一键式自动化交付部署能力。
技术实现思路
本专利技术针对现有技术中的缺点,提供了一种分布式软件系统的自动化持续集成与交付方法、装置和系统。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:本专利技术披露了如下方案:一种分布式软件系统的自动化持续集成与交付方法,包括以下步骤:响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。作为一种可实施方式,所述响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中的具体步骤为:响应于用户访问编译类视图的动作,构建以应用服务名称命名的项目任务,并从代码仓库中拉取和项目任务对应的软件源代码,将所述软件源代码进行编译,形成编译好的代码;调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引参数,基于所述全局索引参数对编译好的代码进行打包操作,形成程序包;将所述程序包写入制品库中。作为一种可实施方式,所述响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包的具体步骤为:响应于用户访问更新类视图的动作,构建以应用服务名称命名的项目任务,调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引的参数,根据所述全局索引的参数生成更新指令;根据所述更新指令,通过接收到的buildID、服务名称在制品库下载对应的程序包;将下载好的程序包通过分发功能下发到对应的系统服务器中,所述系统服务器对所述程序包进行更新动作。作为一种可实施方式,所述响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中,执行此步骤所应用的工具为Jenkins。作为一种可实施方式,所述根据所述更新指令,通过接收到的buildID、服务名称在制品库下载对应的程序包,执行此步骤所应用的工具为ansible。本专利技术还披露了:一种分布式软件系统的自动化持续集成与交付装置,包括编译调用模块和获取更新模块;所述编译调用模块,用于响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;所述获取更新模块,用于构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。作为一种可实施方式,所述编译调用模块包括编译单元、调用单元和写入单元;所述编译单元,用于响应于访问编译类视图的动作,构建以应用服务名称命名的项目任务,并从代码仓库中拉取和项目任务对应的软件源代码,将所述软件源代码进行编译,形成编译好的代码;所述调用单元,用于调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引参数,基于所述全局索引参数对编译好的代码进行打包操作,形成程序包;所述写入单元,用于将所述程序包写入制品库中。作为一种可实施方式,所述获取更新模块包括指令生成单元、匹配获取单元和下发更新单元;所述指令生成单元,用于响应于访问更新类视图的动作,构建以应用服务名称命名的项目任务,调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引的参数,根据所述全局索引的参数生成更新指令;所述匹配获取单元,用于根据所述更新指令,通过接收到的buildID、服务名称在制品库下载对应的程序包;所述下发更新单元,用于将下载好的程序包通过分发功能下发到对应的系统服务器中,所述系统服务器对所述程序包进行更新动作。本专利技术还揭露了:一种分布式软件系统的自动化持续集成与交付系统,包括分布式软件系统的自动化持续集成与交付装置。本专利技术还揭露了:一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实上述所述方法的步骤。本专利技术由于采用了以上技术方案,具有显著的技术效果:本专利技术以Jenkins为基础,借助工具ansible,实现了以下操作步骤:响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。此方法带来的优点有:技术人员通过web界面直观操作;更新动作实时邮件通知、可追溯、可诊断;降低使用门槛,使用起来方便快捷,不容易出错。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的整体结构流程示意图;图2是本专利技术的步骤S100的具体流程示意图;图3是本专利技术的步骤S200的具体流程示意图;图4是本专利技术的分布式软件系统的自动化持续集成与交付方法的时序图;图5是本专利技术的整体结构示意图;图6显示了根据本专利技术的一个实施例的分布式软件系统的自动化持续集成与交付的系统结构示意图。标号说明:100、编译调用模块;200、获取更新模块;3、分布式软件系统的自动化持续集成与交付装置;101、编译单元;102、调用单元;103、写入单元;201、指令生成单元;202、匹配获取单元;203、下发更新单元。具体实施方式下面结合实施例对本专利技术做进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。本专利技术使用Jenkins提供持续集成与持续交付的web页面,测试、研发人员只需要在对应的web页面点击构建按钮即可实现服务的编译、打包、发布过程;使用ansible工具+shell脚本被动触发来实现远端服务的自动批量更新;使用Jenkins的buildID和程序服务名称作为tag来确保构建环境与生产环境的同包同源,结合服务更新状态与邮件报告,让测试、研发人员进行结果分析,本专利技术降低了持续集成/交付应用门槛,提升了版本交付效率,降低了运维成本。本专利技术以Jenkins为基础,借助工具ansible,实现了以下操作步骤:响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。此本文档来自技高网...
分布式软件系统的自动化持续集成与交付方法、装置和系统

【技术保护点】
1.一种分布式软件系统的自动化持续集成与交付方法,其特征在于包括以下步骤:响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。

【技术特征摘要】
1.一种分布式软件系统的自动化持续集成与交付方法,其特征在于包括以下步骤:响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中;响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包。2.根据权利要求1所述的分布式软件系统的自动化持续集成与交付方法,其特征在于,所述响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中的具体步骤为:响应于用户访问编译类视图的动作,构建以应用服务名称命名的项目任务,并从代码仓库中拉取和项目任务对应的软件源代码,将所述软件源代码进行编译,形成编译好的代码;调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引参数,基于所述全局索引参数对编译好的代码进行打包操作,形成程序包;将所述程序包写入制品库中。3.根据权利要求2所述的分布式软件系统的自动化持续集成与交付方法,其特征在于,所述响应于用户的访问更新动作,构建发布任务,从制品库获取对应的程序包,将获得的程序包下发到对应的系统服务器中,所述系统服务器进行更新所述程序包的具体步骤为:响应于用户访问更新类视图的动作,构建以应用服务名称命名的项目任务,调用并传递以项目任务的buildID与服务名称、工作目录作为全局索引的参数,根据所述全局索引的参数生成更新指令;根据所述更新指令,通过接收到的buildID、服务名称在制品库下载对应的程序包;将下载好的程序包通过分发功能下发到对应的系统服务器中,所述系统服务器对所述程序包进行更新动作。4.根据权利要求1所述的分布式软件系统的自动化持续集成与交付方法,其特征在于,所述响应于用户的访问编译动作,构建编译任务,从代码仓库中拉取代码进行编译,将编译后的代码进行打包形成程序包,并将所述程序包写入制品库中,执行此步骤所应用的工具为Jenkins。5.根据权利要求3所述的分布式软件系统的自动化持续集成与交付方法,其特征在于,所述根据...

【专利技术属性】
技术研发人员:吴超
申请(专利权)人:政采云有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1