CN111414172B - 应用软件自动部署发布系统及方法 - Google Patents

应用软件自动部署发布系统及方法 Download PDF

Info

Publication number
CN111414172B
CN111414172B CN202010191832.1A CN202010191832A CN111414172B CN 111414172 B CN111414172 B CN 111414172B CN 202010191832 A CN202010191832 A CN 202010191832A CN 111414172 B CN111414172 B CN 111414172B
Authority
CN
China
Prior art keywords
deployment
software
environment
development
release
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010191832.1A
Other languages
English (en)
Other versions
CN111414172A (zh
Inventor
易传佳
杨翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shishi Tongyun Technology Chengdu Co ltd
Original Assignee
Shishi Tongyun Technology Chengdu Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shishi Tongyun Technology Chengdu Co ltd filed Critical Shishi Tongyun Technology Chengdu Co ltd
Priority to CN202010191832.1A priority Critical patent/CN111414172B/zh
Publication of CN111414172A publication Critical patent/CN111414172A/zh
Application granted granted Critical
Publication of CN111414172B publication Critical patent/CN111414172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

应用软件自动部署发布系统及方法
技术领域
本发明涉及计算机技术领域,具体涉及一种应用软件自动部署发布系统及方法。
背景技术
SaaS(Software-as-a-Service,软件即服务)应用软件是软件提供者将软件统一部署在云服务器上,通过网络提供服务的应用软件。SaaS应用软件在部署时,包含获取源文件、打包、安装、配置等多个步骤,同时分别需要在开发环境、测试环境、灰度环境等多环境进行部署。而SaaS应用软件在发布到生产环境前,需要符合质量、安全、流程等各方面的要求,并根据发布策略进行配置,开放给指定网络或客户。
在现有技术中,一般是由软件的负责人将部署所需的代码、打包命令、配置等信息整理好,指定部署环境以及计划部署时间,通过口述或邮件等方式告知部署操作人员,部署操作人员手动进行部署操作。当软件需要发布时,软件的负责人再通过邮件的方式将版本信息和发布要求等发送给QA(质量保证)人员和发布操作人员,QA人员检查确认各项质量指标、安全要求、流程要求等是否达标,最后发布操作人员在QA人员审批通过后根据计划发布时间和发布策略进行配置、上线等操作。可见,在现有技术中,对于SaaS应用软件的部署和发布严重依赖于人工操作,且操作流程繁琐,处理效率低下,无法正确和高效地完成部署和发布。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的应用软件自动部署发布系统及方法。
根据本发明实施例的一个方面,提供了一种应用软件自动部署发布系统,该系统包括:
任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;
关联读取模块,适于根据软件部署任务,读取与部署基本信息对应的部署关联信息;
处理模块,适于依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;
环境部署模块,适于按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。
进一步地,处理模块进一步适于:
调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;
调用部署系统数据接口,为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。
进一步地,环境部署模块进一步适于:
若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。
进一步地,处理流程包括:开发测试处理流程;开发测试处理流程中记录有代码仓库地址和开发分支信息;
环境部署模块进一步适于:若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,则从代码仓库中拉取开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。
进一步地,环境部署模块进一步适于:若监听到测试环境部署触发操作,则获取开发环境中的开发阶段软件包,将开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。
进一步地,处理流程还包括:灰度处理流程;灰度处理流程中记录有代码仓库地址和主线分支信息;
环境部署模块进一步适于:若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,则从代码仓库中拉取主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。
进一步地,该系统还包括:检查模块,适于对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若检查结果符合预设条件,则将灰度阶段软件包作为待发布软件包存储至待发布软件库中。
进一步地,任务生成模块进一步适于:获取录入的软件的发布基本信息,生成软件发布任务;
关联读取模块进一步适于:根据软件发布任务,读取与发布基本信息对应的发布关联信息;
处理模块进一步适于:依据发布基本信息和发布关联信息,生成定时发布任务;若当前时间到达定时发布任务对应的发布时间,则从待发布软件库中获取与发布基本信息对应的待发布软件包,并在生产环境中运行待发布软件包。
进一步地,该系统还包括:统计模块,适于统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。
根据本发明实施例的另一方面,提供了一种应用软件自动部署发布方法,该方法包括:
获取录入的软件的部署基本信息,生成软件部署任务;
根据软件部署任务,读取与部署基本信息对应的部署关联信息;
依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;
按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。
进一步地,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程进一步包括:
调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程;
该方法还包括:调用部署系统数据接口,为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。
进一步地,按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包进一步包括:
若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。
进一步地,处理流程包括:开发测试处理流程;开发测试处理流程中记录有代码仓库地址和开发分支信息;
若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包进一步包括:若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,则从代码仓库中拉取开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。
进一步地,该方法还包括:若监听到测试环境部署触发操作,则获取开发环境中的开发阶段软件包,将开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。
进一步地,处理流程还包括:灰度处理流程;灰度处理流程中记录有代码仓库地址和主线分支信息;
若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包进一步包括:若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,则从代码仓库中拉取主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。
进一步地,该方法还包括:对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若检查结果符合预设条件,则将灰度阶段软件包作为待发布软件包存储至待发布软件库中。
进一步地,该方法还包括:
获取录入的软件的发布基本信息,生成软件发布任务;
根据软件发布任务,读取与发布基本信息对应的发布关联信息;
依据发布基本信息和发布关联信息,生成定时发布任务;若当前时间到达定时发布任务对应的发布时间,则从待发布软件库中获取与发布基本信息对应的待发布软件包,并在生产环境中运行待发布软件包。
进一步地,该方法还包括:统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。
根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述应用软件自动部署发布方法对应的操作。
根据本发明实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述应用软件自动部署发布方法对应的操作。
根据本发明实施例提供的技术方案,仅需录入一次部署基本信息,就能够根据所录入的部署基本信息自动创建对应的处理流程,并按照处理流程自动化运行,高效地完成了对开发环境、测试环境和灰度环境的部署,便捷地实现了应用软件的一键部署;并且仅需录入一次发布基本信息,就能够根据所录入的发布基本信息自动化处理,在发布时间到达时,自动发布软件包,便捷地实现应用软件的一键发布;该技术方案能够高效地对软件的部署和发布进行自动化、系统化的管理,有效地简化了操作流程,提高了处理效率,能够最大限度的保证软件部署和发布的正确性、高效率和可追溯统计,大大减少了对人工操作的依赖。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的应用软件自动部署发布系统的结构示意图;
图2示出了本发明实施例提供的应用软件自动部署发布方法的流程图;
图3示出了本发明另一实施例提供的应用软件自动部署发布方法的流程图;
图4示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
在本发明实施例中提供了一种应用软件自动部署发布系统,该系统具体可为通过web浏览器就能够进行访问的web系统,该系统可支持有信息录入、关联信息读取、信息存储、审批、自动检查、自动执行、定时执行以及信息统计等功能,该系统中还可设置有与集成开发工具、部署系统、质量系统、安全扫描系统、即时通信工具等进行通信的数据接口,能够便捷地实现应用软件的一键部署和一键发布,有效地简化了操作流程,提高了处理效率。
图1示出了本发明实施例提供的应用软件自动部署发布系统的结构示意图,如图1所示,该系统包括:任务生成模块101、关联读取模块102、处理模块103和环境部署模块104。
任务生成模块101适于:获取录入的软件的部署基本信息,生成软件部署任务。
当需要对某个软件进行部署时,可由该软件的负责人等用户登录该系统,并在系统的用户界面中录入软件的部署基本信息,部署基本信息可包括:软件名称、架构类型、域名规则、是否需要灰度发布、代码仓库地址、健康检查地址、打包命令等信息,其中,健康检查地址是指对该软件进行健康检查的目标地址和端口。那么任务生成模块101获取用户录入的部署基本信息,对所获取的部署基本信息进行校验,校验通过后将部署基本信息自动存储至该系统对应的数据库,并根据部署基本信息生成软件部署任务。
关联读取模块102适于:根据软件部署任务,读取与部署基本信息对应的部署关联信息。
在任务生成模块101生成了软件部署任务之后,关联读取模块102会根据软件部署任务,从数据库等中读取与部署基本信息对应的部署关联信息,部署关联信息可包括用户分组信息、端口分配信息和处理流程模板等信息。其中,用户分组信息是指录入部署基本信息的用户所属的分组信息。
处理模块103适于:依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程。
可调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程,其中,处理流程还可称为流水线,处理流程是指一组对代码更改队列进行串行和/或并行执行的动作,例如,处理流程可包括监听代码提交、打包软件包、创建测试运行环境、运行软件包等。具体地,可将架构类型、是否需要灰度发布、代码仓库地址以及端口分配信息等匹配至处理流程模板中,从而创建得到处理流程,处理流程可包括一条开发测试处理流程和一条灰度处理流程,处理流程中可记录有代码仓库地址、开发分支信息以及主线分支信息等信息,并且处理流程中还设置有运行触发条件,当满足运行触发条件时,就会触发处理流程进行运行。本领域技术人员可根据实际需要对集成开发工具进行选择,此处不做具体限定,例如,集成开发工具可为Jenkins工具等,Jenkins工具是一个开源的、可扩展的持续集成、交付、部署的工具。
处理模块103还可调用部署系统数据接口,按照域名规则为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。其中,所配置的域名可包括内部域名,还可包括外部域名;可通过调用部署系统数据接口,将部署基本信息中的软件名称、架构类型、域名规则、是否需要灰度发布、代码仓库地址、健康检查地址、打包命令等信息以及部署关联信息中的用户分组信息、端口分配信息等同步至生产环境中。
环境部署模块104适于:按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。
其中,环境部署模块104可根据处理流程的执行情况,利用打包命令对软件在相应测试阶段的代码进行打包,打包得到该测试阶段的软件包,并创建该测试阶段对应的测试运行环境,在测试运行环境中运行软件包。其中,测试运行环境可包括:开发环境、测试环境和灰度环境等。若监听到代码仓库中提交有与处理流程对应的开发代码,则环境部署模块104从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。
处理流程可包括开发测试处理流程,其中,开发测试处理流程中记录有该软件的代码仓库地址和开发分支信息,在开发测试处理流程中可设置有以开发分支代码的提交来触发开发测试处理流程运行。在实际应用场景中,负责软件的开发人员在完成了开发分支代码的编写后,往与该软件的代码仓库地址对应的代码仓库中提交开发分支代码。若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,那么就会触发开发测试处理流程自动运行,进行开发环境部署,具体地,环境部署模块104自动地从代码仓库中拉取开发分支代码,利用打包命令对所拉取的开发分支代码进行打包,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。在运行开发阶段软件包的同时,还可通过调用质量系统数据接口和安全扫描系统数据接口,对该开发阶段软件包中的代码进行覆盖率分析、静态扫描、安全扫描等检查,并与质量系统和安全扫描系统同步。
当开发环境部署成功,测试人员需要进行集成测试时,测试人员可登录应用软件自动部署发布系统,在处理流程的展现页面触发测试环境部署即可。若监听到测试环境部署触发操作,那么就会触发开发测试处理流程自动运行,进行测试环境部署,具体地,环境部署模块104自动地获取开发环境中的开发阶段软件包,也就是同步开发环境中的开发阶段软件包,接着将开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。
处理流程除了包括开发测试处理流程之外,还可包括灰度处理流程,其中,灰度处理流程中记录有代码仓库地址和主线分支信息,在灰度处理流程中可设置有以主线分支代码的提交来触发灰度处理流程运行。当集成测试通过,该软件的负责人可将开发分支代码合并至主线分支代码,这时就会监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码。若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,就会触发灰度处理流程自动运行,则环境部署模块104自动地从代码仓库中拉取主线分支代码,利用打包命令对所拉取的主线分支代码进行打包,打包得到灰度阶段软件包。当测试人员需要进行灰度测试时,测试人员可登录应用软件自动部署发布系统,在处理流程的展现页面触发灰度环境部署即可。若监听到灰度环境部署触发操作,环境部署模块104会自动地创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。
在本发明实施例中,仅需录入一次部署基本信息,就能够根据所录入的部署基本信息自动创建对应的处理流程,并按照处理流程自动化运行,高效地完成了对开发环境、测试环境和灰度环境的部署,从而实现软件的一键部署。并且,基于云存储和Kubernetes管理技术,该系统可以将一次打包形成的软件包用于多个环境的部署,实现了一包部署。
可选地,该系统还包括:检查模块105,适于对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若检查结果符合预设条件,则将灰度阶段软件包作为待发布软件包存储至待发布软件库中。在实际应用场景中,当测试人员完成所有的测试工作,并认为软件已经符合发布条件时,可在处理流程的展现页面触发发布条件检查,若监听到发布条件检查触发操作,检查模块105读取与该软件相关的信息,调用质量系统数据接口和安全扫描系统服务接口,自动地对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析、安全扫描,还可自动地对SQL验收、需求验收、架构验收、分支合规、部署流程合规等进行检查,得到检查结果。如果检查结果都符合预设条件,那么将该灰度阶段软件包作为待发布软件包,并将待发布软件包以及该待发布软件包的发布版本信息等相关信息都存储至待发布软件库中。可选地,本发明实施例提供的应用软件自动部署发布系统还可提供待发布软件库的查询页面,便于用户查询待发布软件包以及其相关信息。
可选地,任务生成模块101进一步适于:获取录入的软件的发布基本信息,生成软件发布任务。
当需要对软件进行发布时,可由该软件的负责人等用户登录该系统,并在系统的用户界面中录入软件的发布基本信息,发布基本信息可包括:发布区域、计划时间、功能描述、软件依赖关系、软件包、配置要求、回滚步骤等信息。那么任务生成模块101获取用户录入的发布基本信息,对所获取的发布基本信息进行校验,校验通过后将发布基本信息自动存储至该系统对应的数据库,并根据发布基本信息生成软件发布任务。
关联读取模块102进一步适于:根据软件发布任务,读取与发布基本信息对应的发布关联信息。
在任务生成模块101生成了软件发布任务之后,关联读取模块102会根据软件发布任务,从数据库等中读取与发布基本信息对应的发布关联信息,发布关联信息可包括用户分组信息、发布策略等信息。若根据发布策略需要对软件发布进行审批的,应用软件自动部署发布系统可通过即时通信工具数据接口发送审批链接给对应的审批人员,以供其审批;审批通过或者根据发布策略无需对软件发布进行审批的,会触发处理模块103生成定时发布任务。
处理模块103进一步适于:依据发布基本信息和发布关联信息,生成定时发布任务;若当前时间到达定时发布任务对应的发布时间,则从待发布软件库中获取与发布基本信息对应的待发布软件包,并在生产环境中运行待发布软件包。具体地,当当前时间到达定时发布任务对应的发布时间时,处理模块103可调用部署系统数据接口,根据定时发布任务的任务信息和发布策略,在生产环境中调用对应的配置脚本,运行待发布软件包,从而实现软件的一键发布。
可选地,该系统还可包括:统计模块106,适于统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。例如,统计模块106可对每天的软件部署任务、软件发布任务、定时发布任务的生成数量进行统计,对每天的软件部署任务、软件发布任务、定时发布任务的完成数量进行统计,还可按照各个时间维度对软件发布数量、软件发布频率进行统计分析,从而得到软件发布质量。
本实施例提供的应用软件自动部署发布系统,仅需录入一次部署基本信息,就能够根据所录入的部署基本信息自动创建对应的处理流程,并按照处理流程自动化运行,高效地完成了对开发环境、测试环境和灰度环境的部署,便捷地实现了应用软件的一键部署;并且仅需录入一次发布基本信息,就能够根据所录入的发布基本信息自动化处理,在发布时间到达时,自动发布软件包,便捷地实现应用软件的一键发布;该系统能够高效地对软件的部署和发布进行自动化、系统化的管理,有效地简化了操作流程,提高了处理效率,能够最大限度的保证软件部署和发布的正确性、高效率和可追溯统计,大大减少了对人工操作的依赖。
图2示出了本发明实施例提供的应用软件自动部署发布方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,获取录入的软件的部署基本信息,生成软件部署任务。
当需要对某个软件进行部署时,可由该软件的负责人等用户录入软件的部署基本信息,部署基本信息可包括:软件名称、架构类型、域名规则、是否需要灰度发布、代码仓库地址、健康检查地址、打包命令等信息,其中,健康检查地址是指对该软件进行健康检查的目标地址和端口。那么在步骤S201中获取用户录入的部署基本信息,对所获取的部署基本信息进行校验,校验通过后将部署基本信息自动存储至对应的数据库,并根据部署基本信息生成软件部署任务。
步骤S202,根据软件部署任务,读取与部署基本信息对应的部署关联信息。
在生成了软件部署任务之后,根据软件部署任务,从数据库等中读取与部署基本信息对应的部署关联信息,部署关联信息可包括用户分组信息、端口分配信息和处理流程模板等信息。
步骤S203,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程。
在步骤S203中,可调用集成开发工具数据接口,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程,例如,处理流程可包括监听代码提交、打包软件包、创建测试运行环境、运行软件包等。具体地,可将架构类型、是否需要灰度发布、代码仓库地址以及端口分配信息等匹配至处理流程模板中,从而创建得到处理流程,处理流程可包括一条开发测试处理流程和一条灰度处理流程,处理流程中可记录有代码仓库地址、开发分支信息以及主线分支信息等信息,并且处理流程中还设置有运行触发条件,当满足运行触发条件时,就会触发处理流程进行运行。本领域技术人员可根据实际需要对集成开发工具进行选择,此处不做具体限定,例如,集成开发工具可为Jenkins工具等。
在步骤S203中,还可调用部署系统数据接口,按照域名规则为软件配置域名,并将部署基本信息和部署关联信息同步至生产环境中。其中,所配置的域名可包括内部域名,还可包括外部域名;可通过调用部署系统数据接口,将部署基本信息中的软件名称、架构类型、域名规则、是否需要灰度发布、代码仓库地址、健康检查地址、打包命令等信息以及部署关联信息中的用户分组信息、端口分配信息等同步至生产环境中。
步骤S204,按照处理流程,对软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在测试运行环境中运行软件包。
具体地,可根据处理流程的执行情况,利用打包命令对软件在相应测试阶段的代码进行打包,打包得到该测试阶段的软件包,并创建该测试阶段对应的测试运行环境,在测试运行环境中运行软件包。其中,测试运行环境可包括:开发环境、测试环境和灰度环境等。若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。开发代码包括:开发分支代码和主线分支代码。
本实施例提供的应用软件自动部署发布方法,仅需录入一次部署基本信息,就能够根据所录入的部署基本信息自动创建对应的处理流程,并按照处理流程自动化运行,高效地完成了对开发环境、测试环境和灰度环境的部署,便捷地实现了应用软件的一键部署;该技术方案能够高效地对软件的部署进行自动化、系统化的管理,有效地简化了操作流程,提高了处理效率,大大减少了对人工操作的依赖。
图3示出了本发明另一实施例提供的应用软件自动部署发布方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,获取录入的软件的部署基本信息,生成软件部署任务。
步骤S302,根据软件部署任务,读取与部署基本信息对应的部署关联信息。
步骤S303,依据部署基本信息和部署关联信息,为软件部署任务创建对应的处理流程。
所创建的处理流程可包括:开发测试处理流程和灰度处理流程,开发测试处理流程中记录有代码仓库地址和开发分支信息,灰度处理流程中记录有代码仓库地址和主线分支信息。在创建了处理流程之后,就可监听代码仓库中是否提交有与处理流程对应的开发代码,若监听到代码仓库中提交有与处理流程对应的开发代码,则从代码仓库中拉取开发代码,打包得到对应的软件包,创建测试运行环境,并在测试运行环境中运行软件包。其中,测试运行环境可包括:开发环境、测试环境和灰度环境。具体的处理过程可通过步骤S304至步骤S309进行实现。
步骤S304,若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,则从代码仓库中拉取开发分支代码,打包得到开发阶段软件包。
在实际应用场景中,负责软件的开发人员在完成了开发分支代码的编写后,可往与该软件的代码仓库地址对应的代码仓库中提交开发分支代码。若监听到与代码仓库地址对应的代码仓库中提交有与开发分支信息对应的开发分支代码,那么就会触发开发测试处理流程自动运行,进行开发环境部署,具体地,自动地从代码仓库中拉取开发分支代码,利用打包命令对所拉取的开发分支代码进行打包,打包得到开发阶段软件包。
步骤S305,创建开发环境,调用开发环境配置脚本,在开发环境中运行开发阶段软件包。
在运行开发阶段软件包的同时,还可通过调用质量系统数据接口和安全扫描系统数据接口,对该开发阶段软件包中的代码进行覆盖率分析、静态扫描、安全扫描等检查,并与质量系统和安全扫描系统同步。
步骤S306,若监听到测试环境部署触发操作,则获取开发环境中的开发阶段软件包,将开发阶段软件包作为测试阶段软件包。
当开发环境部署成功,测试人员需要进行集成测试时,测试人员可在处理流程的展现页面触发测试环境部署。若监听到测试环境部署触发操作,那么就会触发开发测试处理流程自动运行,进行测试环境部署,具体地,自动地获取开发环境中的开发阶段软件包,也就是同步开发环境中的开发阶段软件包,接着将开发阶段软件包作为测试阶段软件包。
步骤S307,创建测试环境,调用测试环境配置脚本,在测试环境中运行测试阶段软件包。
步骤S308,若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,则从代码仓库中拉取主线分支代码,打包得到灰度阶段软件包。
当集成测试通过,该软件的负责人等用户可将开发分支代码合并至主线分支代码,这时就会监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码。若监听到与代码仓库地址对应的代码仓库中提交有与主线分支信息对应的主线分支代码,就会触发灰度处理流程自动运行,则自动地从代码仓库中拉取主线分支代码,利用打包命令对所拉取的主线分支代码进行打包,打包得到灰度阶段软件包。
步骤S309,若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。
当测试人员需要进行灰度测试时,测试人员可在处理流程的展现页面触发灰度环境部署。若监听到灰度环境部署触发操作,则自动地创建灰度环境,调用灰度环境配置脚本,在灰度环境中运行灰度阶段软件包。
步骤S310,对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果。
在实际应用场景中,当测试人员完成所有的测试工作,并认为软件已经符合发布条件时,可在处理流程的展现页面触发发布条件检查,若监听到发布条件检查触发操作,则读取与该软件相关的信息,调用质量系统数据接口和安全扫描系统服务接口,自动地对灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析、安全扫描,还可自动地对SQL验收、需求验收、架构验收、分支合规、部署流程合规等进行检查,得到检查结果。
步骤S311,若检查结果符合预设条件,则将灰度阶段软件包作为待发布软件包存储至待发布软件库中。
如果检查结果都符合预设条件,那么将该灰度阶段软件包作为待发布软件包,并将待发布软件包以及该待发布软件包的发布版本信息等相关信息都存储至待发布软件库中。
步骤S312,获取录入的软件的发布基本信息,生成软件发布任务。
当需要对软件进行发布时,可由该软件的负责人等用户录入软件的发布基本信息,发布基本信息可包括:发布区域、计划时间、功能描述、软件依赖关系、软件包、配置要求、回滚步骤等信息。那么在步骤S312中获取用户录入的发布基本信息,对所获取的发布基本信息进行校验,校验通过后将发布基本信息自动存储至对应的数据库,并根据发布基本信息生成软件发布任务。
步骤S313,根据软件发布任务,读取与发布基本信息对应的发布关联信息。
在生成了软件发布任务之后,会根据软件发布任务,从数据库等中读取与发布基本信息对应的发布关联信息,发布关联信息可包括用户分组信息、发布策略等信息。
步骤S314,依据发布基本信息和发布关联信息,生成定时发布任务。
若根据发布策略需要对软件发布进行审批的,则可通过即时通信工具数据接口发送审批链接给对应的审批人员,以供其审批;审批通过或者根据发布策略无需对软件发布进行审批的,会生成定时发布任务。
步骤S315,若当前时间到达定时发布任务对应的发布时间,则从待发布软件库中获取与发布基本信息对应的待发布软件包,并在生产环境中运行待发布软件包。
当当前时间到达定时发布任务对应的发布时间时,可调用部署系统数据接口,根据定时发布任务的任务信息和发布策略,在生产环境中调用对应的配置脚本,运行待发布软件包,从而实现软件的一键发布。
可选地,该方法还可包括:统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率的步骤。
例如,可对每天的软件部署任务、软件发布任务、定时发布任务的生成数量进行统计,对每天的软件部署任务、软件发布任务、定时发布任务的完成数量进行统计,还可按照各个时间维度对软件发布数量、软件发布频率进行统计分析,从而得到软件发布质量。
本实施例提供的应用软件自动部署发布方法,仅需录入一次部署基本信息,就能够根据所录入的部署基本信息自动创建对应的处理流程,并按照处理流程自动化运行,高效地完成了对开发环境、测试环境和灰度环境的部署,便捷地实现了应用软件的一键部署;并且仅需录入一次发布基本信息,就能够根据所录入的发布基本信息自动化处理,在发布时间到达时,自动发布软件包,便捷地实现应用软件的一键发布;该技术方案能够高效地对软件的部署和发布进行自动化、系统化的管理,有效地简化了操作流程,提高了处理效率,能够最大限度的保证软件部署和发布的正确性、高效率和可追溯统计,大大减少了对人工操作的依赖。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用软件自动部署发布方法。
图4示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述应用软件自动部署发布方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的应用软件自动部署发布方法。程序410中各步骤的具体实现可以参见上述应用软件自动部署发布实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明示例性实施例的描述中,各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (18)

1.一种应用软件自动部署发布系统,所述系统包括:
任务生成模块,适于获取录入的软件的部署基本信息,生成软件部署任务;
关联读取模块,适于根据所述软件部署任务,读取与所述部署基本信息对应的部署关联信息;
处理模块,适于依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
环境部署模块,适于按照所述处理流程,对所述软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在所述测试运行环境中运行所述软件包;
其中,所述任务生成模块进一步适于:获取录入的软件的发布基本信息,生成软件发布任务;
所述关联读取模块进一步适于:根据所述软件发布任务,读取与所述发布基本信息对应的发布关联信息;
所述处理模块进一步适于:依据所述发布基本信息和所述发布关联信息,生成定时发布任务;若当前时间到达所述定时发布任务对应的发布时间,则从待发布软件库中获取与所述发布基本信息对应的待发布软件包,并在生产环境中运行所述待发布软件包。
2.根据权利要求1所述的系统,其中,所述处理模块进一步适于:
调用集成开发工具数据接口,依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
调用部署系统数据接口,为所述软件配置域名,并将所述部署基本信息和所述部署关联信息同步至生产环境中。
3.根据权利要求1所述的系统,其中,所述环境部署模块进一步适于:
若监听到代码仓库中提交有与所述处理流程对应的开发代码,则从所述代码仓库中拉取所述开发代码,打包得到对应的软件包,创建测试运行环境,并在所述测试运行环境中运行所述软件包。
4.根据权利要求3所述的系统,其中,所述处理流程包括:开发测试处理流程;所述开发测试处理流程中记录有代码仓库地址和开发分支信息;
所述环境部署模块进一步适于:若监听到与所述代码仓库地址对应的代码仓库中提交有与所述开发分支信息对应的开发分支代码,则从所述代码仓库中拉取所述开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在所述开发环境中运行所述开发阶段软件包。
5.根据权利要求4所述的系统,其中,所述环境部署模块进一步适于:若监听到测试环境部署触发操作,则获取所述开发环境中的所述开发阶段软件包,将所述开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在所述测试环境中运行所述测试阶段软件包。
6.根据权利要求3-5任一项所述的系统,其中,所述处理流程还包括:灰度处理流程;所述灰度处理流程中记录有代码仓库地址和主线分支信息;
所述环境部署模块进一步适于:若监听到与所述代码仓库地址对应的代码仓库中提交有与所述主线分支信息对应的主线分支代码,则从所述代码仓库中拉取所述主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在所述灰度环境中运行所述灰度阶段软件包。
7.根据权利要求6所述的系统,其中,所述系统还包括:检查模块,适于对所述灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若所述检查结果符合预设条件,则将所述灰度阶段软件包作为待发布软件包存储至待发布软件库中。
8.根据权利要求1所述的系统,其中,所述系统还包括:统计模块,适于统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。
9.一种应用软件自动部署发布方法,所述方法包括:
获取录入的软件的部署基本信息,生成软件部署任务;
根据所述软件部署任务,读取与所述部署基本信息对应的部署关联信息;
依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
按照所述处理流程,对所述软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在所述测试运行环境中运行所述软件包;
其中,所述方法还包括:
获取录入的软件的发布基本信息,生成软件发布任务;
根据所述软件发布任务,读取与所述发布基本信息对应的发布关联信息;
依据所述发布基本信息和所述发布关联信息,生成定时发布任务;若当前时间到达所述定时发布任务对应的发布时间,则从待发布软件库中获取与所述发布基本信息对应的待发布软件包,并在生产环境中运行所述待发布软件包。
10.根据权利要求9所述的方法,其中,所述依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程进一步包括:
调用集成开发工具数据接口,依据所述部署基本信息和所述部署关联信息,为所述软件部署任务创建对应的处理流程;
所述方法还包括:调用部署系统数据接口,为所述软件配置域名,并将所述部署基本信息和所述部署关联信息同步至生产环境中。
11.根据权利要求9所述的方法,其中,所述按照所述处理流程,对所述软件的代码进行打包,得到软件包,创建对应的测试运行环境,并在所述测试运行环境中运行所述软件包进一步包括:
若监听到代码仓库中提交有与所述处理流程对应的开发代码,则从所述代码仓库中拉取所述开发代码,打包得到对应的软件包,创建测试运行环境,并在所述测试运行环境中运行所述软件包。
12.根据权利要求11所述的方法,其中,所述处理流程包括:开发测试处理流程;所述开发测试处理流程中记录有代码仓库地址和开发分支信息;
所述若监听到代码仓库中提交有与所述处理流程对应的开发代码,则从所述代码仓库中拉取所述开发代码,打包得到对应的软件包,创建测试运行环境,并在所述测试运行环境中运行所述软件包进一步包括:若监听到与所述代码仓库地址对应的代码仓库中提交有与所述开发分支信息对应的开发分支代码,则从所述代码仓库中拉取所述开发分支代码,打包得到开发阶段软件包,创建开发环境,调用开发环境配置脚本,在所述开发环境中运行所述开发阶段软件包。
13.根据权利要求12所述的方法,其中,所述方法还包括:若监听到测试环境部署触发操作,则获取所述开发环境中的所述开发阶段软件包,将所述开发阶段软件包作为测试阶段软件包,创建测试环境,调用测试环境配置脚本,在所述测试环境中运行所述测试阶段软件包。
14.根据权利要求11-13任一项所述的方法,其中,所述处理流程还包括:灰度处理流程;所述灰度处理流程中记录有代码仓库地址和主线分支信息;
所述若监听到代码仓库中提交有与所述处理流程对应的开发代码,则从所述代码仓库中拉取所述开发代码,打包得到对应的软件包,创建测试运行环境,并在所述测试运行环境中运行所述软件包进一步包括:若监听到与所述代码仓库地址对应的代码仓库中提交有与所述主线分支信息对应的主线分支代码,则从所述代码仓库中拉取所述主线分支代码,打包得到灰度阶段软件包;若监听到灰度环境部署触发操作,则创建灰度环境,调用灰度环境配置脚本,在所述灰度环境中运行所述灰度阶段软件包。
15.根据权利要求14所述的方法,其中,所述方法还包括:对所述灰度阶段软件包中的代码进行覆盖率分析、通过率分析、功能测试、静态分析和/或安全扫描,得到检查结果;若所述检查结果符合预设条件,则将所述灰度阶段软件包作为待发布软件包存储至待发布软件库中。
16.根据权利要求9所述的方法,其中,所述方法还包括:统计任务生成数量、任务完成数量、软件发布数量和/或软件发布频率。
17.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求9-16中任一项所述的应用软件自动部署发布方法对应的操作。
18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求9-16中任一项所述的应用软件自动部署发布方法对应的操作。
CN202010191832.1A 2020-03-18 2020-03-18 应用软件自动部署发布系统及方法 Active CN111414172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010191832.1A CN111414172B (zh) 2020-03-18 2020-03-18 应用软件自动部署发布系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010191832.1A CN111414172B (zh) 2020-03-18 2020-03-18 应用软件自动部署发布系统及方法

Publications (2)

Publication Number Publication Date
CN111414172A CN111414172A (zh) 2020-07-14
CN111414172B true CN111414172B (zh) 2023-03-31

Family

ID=71494244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010191832.1A Active CN111414172B (zh) 2020-03-18 2020-03-18 应用软件自动部署发布系统及方法

Country Status (1)

Country Link
CN (1) CN111414172B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035161B (zh) * 2020-08-31 2023-05-12 上海识装信息科技有限公司 一种小程序发布校验的方法及并行发布的方法
CN112162766B (zh) * 2020-09-16 2024-05-03 银盛支付服务股份有限公司 一种linux脚本应用部署方法、计算机设备及存储介质
CN113448837B (zh) * 2020-11-03 2024-03-19 北京新氧科技有限公司 开发及测试环境部署方法、系统、电子设备及介质
CN112787854A (zh) * 2020-12-30 2021-05-11 四川新网银行股份有限公司 一种多环境自动化任务部署系统及方法
CN112817849B (zh) * 2021-01-28 2024-06-04 北京达佳互联信息技术有限公司 测试数据处理方法、装置、设备及存储介质
CN113094081B (zh) * 2021-04-06 2024-03-01 中国工商银行股份有限公司 软件发布方法、装置、计算机系统和计算机可读存储介质
CN113010441B (zh) * 2021-04-29 2024-05-07 成都新希望金融信息有限公司 模型发布方法、装置、电子设备及存储介质
CN113254028A (zh) * 2021-04-30 2021-08-13 北京仁科互动网络技术有限公司 代码处理方法、装置、电子设备及存储介质
CN113238735A (zh) * 2021-05-27 2021-08-10 欧冶云商股份有限公司 一种可定义流水的项目交付任务创建方法、平台及系统
CN113504937A (zh) * 2021-06-07 2021-10-15 广发银行股份有限公司 一种分体式开发部署平台
CN113438104A (zh) * 2021-06-10 2021-09-24 上海甄汇信息科技有限公司 系统无感自动迭代方法
CN113434221B (zh) * 2021-07-22 2024-05-24 武汉中科医疗科技工业技术研究院有限公司 软件自动化运行方法、装置、系统和服务器设备
CN113627887B (zh) * 2021-08-11 2024-08-13 网易(杭州)网络有限公司 软件发布步骤检查方法、装置、电子设备及存储介质
CN113821227B (zh) * 2021-09-23 2024-05-17 青岛海信日立空调系统有限公司 空调在线烧录系统
CN117234466B (zh) * 2023-08-07 2024-02-23 北京冠群信息技术股份有限公司 企业管理软件开发方法、系统、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
US10289539B1 (en) * 2013-09-18 2019-05-14 Amazon Technologies, Inc. Performance testing in a software deployment pipeline
CN104978191B (zh) * 2015-06-24 2018-06-19 小米科技有限责任公司 应用部署方法和服务器
CN105373401B (zh) * 2015-10-27 2018-09-07 上海找钢网信息科技股份有限公司 软件包自动发布方法和系统
US9971595B1 (en) * 2016-01-15 2018-05-15 Jpmorgan Chase Bank, N.A. Techniques for automated database deployment
CN108733380B (zh) * 2017-04-21 2022-07-05 北京京东尚科信息技术有限公司 应用部署方法和装置
CN107247610A (zh) * 2017-06-12 2017-10-13 郑州云海信息技术有限公司 一种软件自动部署方法及装置
CN109725911A (zh) * 2017-10-31 2019-05-07 北京国双科技有限公司 一种多环境项目部署方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
CN111414172A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111414172B (zh) 应用软件自动部署发布系统及方法
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
US10318412B1 (en) Systems, methods, and apparatus for dynamic software generation and testing
CN105389256B (zh) 一种单元测试方法及系统
US8074204B2 (en) Test automation for business applications
US20180285247A1 (en) Systems, methods, and apparatus for automated code testing
CN107729255B (zh) 软件测试方法、装置及系统
CA2773981C (en) System and method of substituting parameter sets in self-contained mini-applications
US11138097B2 (en) Automated web testing framework for generating and maintaining test scripts
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
US8868976B2 (en) System-level testcase generation
US8661414B2 (en) Method and system for testing an order management system
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN111240981A (zh) 一种接口测试方法、系统及平台
CN116795701A (zh) 一种接口程序的通用测试实例的生成方法和装置
CN112015436A (zh) 短信平台部署方法及装置、计算设备、计算机存储介质
CN114610322A (zh) 一种基于DevSecOps平台的软件处理方法与系统
CN114579470A (zh) 一种单元测试方法、装置、电子设备及存储介质
CN114385258A (zh) 自动化测试方法、装置、电子设备及存储介质
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN106202319B (zh) 一种异常url验证方法及系统
CN110659215A (zh) 一种开放式工业app快速开发及测试验证方法
CN118838825A (zh) 一种压力部署方法、装置、设备以及存储介质
CN114281831A (zh) 数据构建方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant