应用软件自动部署发布系统及方法技术方案

技术编号:24888247 阅读:12 留言:0更新日期:2020-07-14 18:15
本发明专利技术公开了一种应用软件自动部署发布系统及方法,其中,应用软件自动部署发布系统包括:任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;关联读取模块,适于根据软件部署任务,读取与部署基本信息对应的部署关联信息;处理模块,适于依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;环境部署模块,适于按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。根据本发明专利技术提供的技术方案,便捷地实现了应用软件的一键部署和一键发布,能够高效地对软件的部署和发布进行自动化、系统化的管理,有效地简化了操作流程,提高了处理效率。

【技术实现步骤摘要】
应用软件自动部署发布系统及方法
本专利技术涉及计算机
,具体涉及一种应用软件自动部署发布系统及方法。
技术介绍
SaaS(Software-as-a-Service,软件即服务)应用软件是软件提供者将软件统一部署在云服务器上,通过网络提供服务的应用软件。SaaS应用软件在部署时,包含获取源文件、打包、安装、配置等多个步骤,同时分别需要在开发环境、测试环境、灰度环境等多环境进行部署。而SaaS应用软件在发布到生产环境前,需要符合质量、安全、流程等各方面的要求,并根据发布策略进行配置,开放给指定网络或客户。在现有技术中,一般是由软件的负责人将部署所需的代码、打包命令、配置等信息整理好,指定部署环境以及计划部署时间,通过口述或邮件等方式告知部署操作人员,部署操作人员手动进行部署操作。当软件需要发布时,软件的负责人再通过邮件的方式将版本信息和发布要求等发送给QA(质量保证)人员和发布操作人员,QA人员检查确认各项质量指标、安全要求、流程要求等是否达标,最后发布操作人员在QA人员审批通过后根据计划发布时间和发布策略进行配置、上线等操作。可见,在现有技术中,对于SaaS应用软件的部署和发布严重依赖于人工操作,且操作流程繁琐,处理效率低下,无法正确和高效地完成部署和发布。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的应用软件自动部署发布系统及方法。根据本专利技术实施例的一个方面,提供了一种应用软件自动部署发布系统,该系统包括:>任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;关联读取模块,适于根据软件部署任务,读取与部署基本信息对应的部署关联信息;处理模块,适于依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;环境部署模块,适于按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。进一步地,处理模块进一步适于:调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;调用部署系统数据接口,为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。进一步地,环境部署模块进一步适于:若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。进一步地,处理流程包括:开发测试处理流程;开发测试处理流程中记录有代码仓库地址和开发分支信息;环境部署模块进一步适于:若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,则从代码仓库中拉取开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。进一步地,环境部署模块进一步适于:若监听到测试环境部署触发操作,则获取开发环境中的开发阶段软件包,将开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。进一步地,处理流程还包括:灰度处理流程;灰度处理流程中记录有代码仓库地址和主线分支信息;环境部署模块进一步适于:若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,则从代码仓库中拉取主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。进一步地,该系统还包括:检查模块,适于对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若检查结果符合预设条件,则将灰度阶段软件包作为待发布软件包存储至待发布软件库中。进一步地,任务生成模块进一步适于:获取录入的软件的发布基本信息,生成软件发布任务;关联读取模块进一步适于:根据软件发布任务,读取与发布基本信息对应的发布关联信息;处理模块进一步适于:依据发布基本信息和发布关联信息,生成定时发布任务;若当前时间到达定时发布任务对应的发布时间,则从待发布软件库中获取与发布基本信息对应的待发布软件包,并在生产环境中运行待发布软件包。进一步地,该系统还包括:统计模块,适于统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。根据本专利技术实施例的另一方面,提供了一种应用软件自动部署发布方法,该方法包括:获取录入的软件的部署基本信息,生成软件部署任务;根据软件部署任务,读取与部署基本信息对应的部署关联信息;依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。进一步地,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程进一步包括:调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;该方法还包括:调用部署系统数据接口,为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。进一步地,按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包进一步包括:若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。进一步地,处理流程包括:开发测试处理流程;开发测试处理流程中记录有代码仓库地址和开发分支信息;若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包进一步包括:若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,则从代码仓库中拉取开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。进一步地,该方法还包括:若监听到测试环境部署触发操作,则获取开发环境中的开发阶段软件包,将开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。进一步地,处理流程还包括:灰度处理流程;灰度处理流程中记录有代码仓库地址和主线分支信息;若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包进一步包括:若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,则从代码仓库中拉取主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。进一步地,该方法还包括:对灰度阶段软件包中的代码进行覆盖率本文档来自技高网...

【技术保护点】
1.一种应用软件自动部署发布系统,所述系统包括:/n任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;/n关联读取模块,适于根据所述软件部署任务,读取与所述部署基本信息对应的部署关联信息;/n处理模块,适于依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;/n环境部署模块,适于按照所述处理流程,对所述软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在所述测试运行环境中运行所述软件包。/n

【技术特征摘要】
1.一种应用软件自动部署发布系统,所述系统包括:
任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;
关联读取模块,适于根据所述软件部署任务,读取与所述部署基本信息对应的部署关联信息;
处理模块,适于依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
环境部署模块,适于按照所述处理流程,对所述软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在所述测试运行环境中运行所述软件包。


2.根据权利要求1所述的系统,其中,所述处理模块进一步适于:
调用集成开发工具数据接口,依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
调用部署系统数据接口,为所述软件配置域名,并将所述部署基本信息和所述部署关联信息同步至生产环境中。


3.根据权利要求1所述的系统,其中,所述环境部署模块进一步适于:
若监听到代码仓库中提交有与所述处理流程对应的开发代码,则从所述代码仓库中拉取所述开发代码,打包得到对应的软件包,创建测试运行环境,并在所述测试运行环境中运行所述软件包。


4.根据权利要求3所述的系统,其中,所述处理流程包括:开发测试处理流程;所述开发测试处理流程中记录有代码仓库地址和开发分支信息;
所述环境部署模块进一步适于:若监听到与所述代码仓库地址对应的代码仓库中提交有与所述开发分支信息对应的开发分支代码,则从所述代码仓库中拉取所述开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在所述开发环境中运行所述开发阶段软件包。


5.根据权利要求4所述的系统,其中,所述环境部署模块进一步适于:若监听到测试环境部署触发操作,则获取所述开发环境中的所述开发阶段软件包,将所述开发阶段软件包作为测试阶段软件包,创建测试环境,调...

【专利技术属性】
技术研发人员:易传佳杨翔
申请(专利权)人:时时同云科技成都有限责任公司
类型:发明
国别省市:四川;51

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

1