CN106775730A - 程序发布方法及系统 - Google Patents

程序发布方法及系统 Download PDF

Info

Publication number
CN106775730A
CN106775730A CN201611193715.9A CN201611193715A CN106775730A CN 106775730 A CN106775730 A CN 106775730A CN 201611193715 A CN201611193715 A CN 201611193715A CN 106775730 A CN106775730 A CN 106775730A
Authority
CN
China
Prior art keywords
program
engineering
code
software bag
configuration information
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.)
Pending
Application number
CN201611193715.9A
Other languages
English (en)
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.)
Shenzhen TCL New Technology Co Ltd
Shenzhen TCL Digital Technology Co Ltd
Original Assignee
Shenzhen TCL New Technology 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 Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN201611193715.9A priority Critical patent/CN106775730A/zh
Publication of CN106775730A publication Critical patent/CN106775730A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种程序发布方法,该程序发布方法包括:解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系;根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码;根据所述配置信息中的定制化脚本下载第三方软件包;将所述工程代码进行编译并打包为工程软件包;将所述工程软件包和所述第三方软件包发送至目标服务器。本发明还公开了一种程序发布系统。本发明提出的程序发布方法及系统可以提高程序发布的可靠性。

Description

程序发布方法及系统
技术领域
本发明涉及计算机软件领域,尤其涉及一种程序发布方法及系统。
背景技术
在软件项目的开发过程中,开发人员需要在本地开发并编译打包,然后远程登入服务器,并且将编译打包后的软件包上传至服务器,同时根据不同的现场环境规则,在服务器上修改与现场环境相对应的配置文件,接着根据目的地址而执行分发操作,以完成发布任务。在此过程中,避免不了人为的手动打包,其不仅复杂而且枯燥,对各工程间的依赖关系,也需开发人员逐一梳理,很容易疏漏而造成发布失败。
发明内容
本发明的主要目的在于提出一种程序发布方法及系统,旨在提高程序发布的可靠性。
为实现上述目的,本发明提供的一种程序发布方法,所述程序发布方法包括:
解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系;
根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码;
根据所述配置信息中的定制化脚本下载第三方软件包;
将所述工程代码进行编译并打包为工程软件包;
将所述工程软件包和所述第三方软件包发送至目标服务器。
优选地,所述将所述工程软件包和所述第三方软件包发送至目标服务器的步骤包括:
根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
优选地,所述程序发布方法还包括:
在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
优选地,所述将所述工程代码进行编译并打包为工程软件包的步骤之后还包括:
将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
当获取所述工程代码或编译所述工程代码失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
优选地,所述根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码的步骤之后还包括:
将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
当编译所述工程代码失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
此外,为实现上述目的,本发明还提出一种程序发布系统,所述程序发布系统包括:
解析模块,用于解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系;
代码获取模块,用于根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码;
第三方软件包模块,用于根据所述配置信息中的定制化脚本下载第三方软件包;
编译模块,用于将所述工程代码进行编译并打包为工程软件包;
发送模块,用于将所述工程软件包和所述第三方软件包发送至目标服务器。
优选地,所述发送模块用于,根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
优选地,所述程序发布系统还包括:
运行模块,用于在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
优选地,所述程序发布系统还包括:
存储模块,用于将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
回退模块,用于当所述代码获取模块或所述编译模块执行的操作失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
优选地,所述存储模块还用于,将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述回退模块还用于,当所述编译模块执行的操作失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
本发明提出的技术方案中,通过解析配置信息获得的代码库路径以及主程序和子程序之间的依赖关系来从代码库中获取工程代码,对工程代码进行自动编译获得工程软件包,并根据预设配置的定制化脚本获取第三方软件包,将工程软件包和第三方软件包传输到服务器后即完成程序的发布,整个过程中只需开发人员预先设置配置信息即可实现自动执行获取代码、编译、打包和上传的待发布程序的自动化发布操作,简化发布过程和提高发布的可靠性。
附图说明
图1为本发明程序发布方法第一实施例的流程示意图;
图2为本发明程序发布方法第二实施例的流程示意图;
图3为本发明程序发布方法第三实施例的流程示意图;
图4为本发明程序发布系统第一实施例的功能模块示意图;
图5为本发明程序发布系统第二实施例的功能模块示意图;
图6为本发明程序发布系统第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明第一实施例提出的程序发布方法包括:
步骤S100,解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系。
具体地,为了有助于用户对发布的程序进行可视化的管理,可以设置发布单,发布单包括待发布程序的版本号项、发布环境项、服务器项、解析器项和定制化脚本项等配置信息。多个开发人员可以根据发布单的信息而参与于同一项目,以增加项目开发的透明度,进而避免团队中的其他人员无法及时得知整个发布进程,开发人员也可根据实际需要对发布单进行修改从而对程序发布进行管理。
发布环境包括开发环境、测试环境和生产验证环境,开发环境是开发人员进行测试的环境,测试环境是专业的测试人员进行测试的环境,而生产验证环境则是UAT(UserAcceptance Test,用户验收测试)环境。待发布程序在不同的发布环境下对应着不同的代码,在研发过程中,通常是在开发环境下对发布的程序进行测试,然后再在测试环境下对发布的程序进行测试,最后再在生产验证环境下对发布的程序进行测试。
用户可对本次版本所需执行的定制化脚本进行设置,根据该定制化脚本可以从中央仓库,比如Maven中央仓库,下载一些常用的第三方jar包从而在后续运行程序时可以实现个性化功能定制,也减轻了开发人员的工作量。
步骤S200,根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码。
具体地,代码库中有不同版本的代码,代码库可存储在代码服务器中。解析器解析配置信息后获得待发布程序在发布环境下的代码库路径以及主程序、子程序之间的依赖关系,从而可以根据该代码库路径和依赖关系从代码库中拉取对应的代码组成完整的代码源,即待发布程序在该发布环境下的工程代码。可预先设定保存路径和备份路径,从而将工程代码保存在指定区域。
步骤S300,根据所述配置信息中的定制化脚本下载第三方软件包;
步骤S400,将所述工程代码进行编译并打包为工程软件包。
具体地,待发布程序采用的编程语言可以是Java、C/C++,也可采用其他编程语言,而在不同的编程语言下,采用对应的编译方法以将代码编译打包成软件包。在本实施例中,待发布程序为基于Java语言开发的程序。现有技术中,Java工程在发布过程中需要将代码在JVM虚拟机上进行编译,并打包成多个软件包(jar包),再发布到相应服务器才可执行启动。在此过程中,避免不了人为的手动打包,其不仅复杂而且枯燥,对各工程间的依赖关系,也需发布人员逐一梳理,很容易疏漏而造成发布失败。而本发明中利用gradle或ant插件等编译工具自动将工程代码进行编译,并打包为工程jar包,另外,根据定制化脚本从中央仓库下载常用的第三方jar包,从而解决了jar依赖及工程之间的依赖关系,进而执行本地化编译代码的服务。可预先设定保存路径和备份路径,从而将工程jar包和第三方jar包保存在指定区域。需要说明的是,步骤S300和步骤S400的执行不分先后顺序。
步骤S500,将所述工程软件包和所述第三方软件包发送至目标服务器。
具体地,通过配置信息获取服务器的IP地址及端口,获取同步服务连接,将打包的各项资源文件传输到服务器,其中,各项资源文件包括工程jar包和第三方jar包。
本发明提出的技术方案中,通过解析配置信息获得的代码库路径以及主程序和子程序之间的依赖关系来从代码库中获取工程代码,对工程代码进行自动编译获得工程软件包,并根据预设配置的定制化脚本获取第三方软件包,将工程软件包和第三方软件包传输到服务器后即完成程序的发布,整个过程中只需开发人员预先设置配置信息即可实现自动执行获取代码、编译、打包和上传的待发布程序的自动化发布操作,简化发布过程和提高发布的可靠性。
进一步地,参照图2,为本发明程序发布方法的第二实施例,在上述第一实施例的基础上,所述将所述工程软件包和所述第三方软件包发送至目标服务器的步骤包括:
步骤501,根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
具体地,根据预先配置的服务器的IP地址和端口可以将工程软件包和第三方软件包传输至指定的服务器。当该项目需要发布的服务器的IP地址或端口发生变化时,可以在发布单中的服务器项里进行相应的修改。
向服务器发布软件包后,会接收一个软件包发布的进度信息或状态信息,以使开发人员知晓项目发布的进度和状态。状态信息可以是字符串标记,字符串标记包括:Success或Failure。若软件包发布成功,接收字符串标记Success,若软件包发布失败,接收字符串标记Failure。这样用户可以及时知晓发布的状态,当发布失败时,用户可以及时重新发布或修改应用文件内的信息,以保证发布成功。
另外,还可以配置软件包自动发布的发布策略,以设定多个软件包之间的顺序,根据所设定的多个软件包之间的顺序,执行多个软件包一次性同时发布的操作。由于一些大型项目需要同时发布多个软件包,而多个软件包之间存在一定的依赖性,因此,需要通过配置软件包自动发布的发布策略,以设定多个软件包之间的先后顺序,相当于形成一任务链。在设定完多个软件包之间的先后顺序之后,可以执行多个软件包一次性同时发布的操作。
进一步地,参照图3,为本发明程序发布方法的第三实施例,在上述第一或第二实施例的基础上,所述程序发布方法还包括:
步骤S600,在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
具体地,动态脚本包括使所述待发布程序执行运行操作、安装操作和停止操作的指令。开发人员也可对动态脚本进行设置,动态脚本修改后可以控制待发布程序在目标服务器中的运行,比如修改或删除某些程序从而改变其在服务器中的运行,从而实现轻量级的扩展性。
进一步地,在上述第一至第三任一实施例的基础上,所述将所述工程代码进行编译并打包为工程软件包的步骤之后还包括:
步骤S401,将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
步骤S701,当获取所述工程代码或编译所述工程代码失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
具体地,当发布出错,即步骤S200或步骤S300或步骤S400执行的操作失败时,有两种解决方式:第一种,回退到一个已有的版本;第二种,查找当前发布版本的工程代码进行修改。
当以上获取工程代码或者编译步骤失败时通知开发人员错误信息,终止发布流程,并可以回退到一个已有的较低版本,从而提高回退版本的效率。
进一步地,所述根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码的步骤之后还包括:
步骤S201,将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
步骤S702,当编译所述工程代码失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
具体地,当某个环节出现bug(漏洞)后,可通过版本号追溯到当时的环境,并找到当时的代码,方便修复代码。
参照图4,为本发明程序发布系统的第一实施例,该程序发布系统包括:
解析模块100,用于解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系。
具体地,为了有助于用户对发布的程序进行可视化的管理,可以设置发布单,发布单包括待发布程序的版本号项、发布环境项、服务器项、解析器项和定制化脚本项等配置信息。多个开发人员可以根据发布单的信息而参与于同一项目,以增加项目开发的透明度,进而避免团队中的其他人员无法及时得知整个发布进程,开发人员也可根据实际需要对发布单进行修改从而对程序发布进行管理。
发布环境包括开发环境、测试环境和生产验证环境,开发环境是开发人员进行测试的环境,测试环境是专业的测试人员进行测试的环境,而生产验证环境则是UAT(UserAcceptance Test,用户验收测试)环境。待发布程序在不同的发布环境下对应着不同的代码,在研发过程中,通常是在开发环境下对发布的程序进行测试,然后再在测试环境下对发布的程序进行测试,最后再在生产验证环境下对发布的程序进行测试。
用户可对本次版本所需执行的定制化脚本进行设置,根据该定制化脚本可以从中央仓库,比如Maven中央仓库,下载一些常用的第三方jar包从而在后续运行程序时可以实现个性化功能定制,也减轻了开发人员的工作量。
代码获取模块200,用于根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码。
具体地,代码库中有不同版本的代码,代码库可存储在代码服务器中。解析器解析配置信息后获得待发布程序在发布环境下的代码库路径以及主程序、子程序之间的依赖关系,从而可以根据该代码库路径和依赖关系从代码库中拉取对应的代码组成完整的代码源,即待发布程序在该发布环境下的工程代码。可预先设定保存路径和备份路径,从而将工程代码保存在指定区域。
第三方软件包模块300,用于根据所述配置信息中的定制化脚本下载第三方软件包;
编译模块400,用于将所述工程代码进行编译并打包为工程软件包。
具体地,待发布程序采用的编程语言可以是Java、C/C++,也可采用其他编程语言,而在不同的编程语言下,采用对应的编译方法以将代码编译打包成软件包。在本实施例中,待发布程序为基于Java语言开发的程序。现有技术中,Java工程在发布过程中需要将代码在JVM虚拟机上进行编译,并打包成多个软件包(jar包),再发布到相应服务器才可执行启动。在此过程中,避免不了人为的手动打包,其不仅复杂而且枯燥,对各工程间的依赖关系,也需发布人员逐一梳理,很容易疏漏而造成发布失败。而本发明中利用gradle或ant插件等编译工具自动将工程代码进行编译,并打包为工程jar包,另外,根据定制化脚本从中央仓库下载常用的第三方jar包,从而解决了jar依赖及工程之间的依赖关系,进而执行本地化编译代码的服务。可预先设定保存路径和备份路径,从而将工程jar包和第三方jar包保存在指定区域。
发送模块500,用于将所述工程软件包和所述第三方软件包发送至目标服务器。
具体地,通过配置信息获取服务器的IP地址及端口,获取同步服务连接,将打包的各项资源文件传输到服务器,其中,各项资源文件包括工程jar包和第三方jar包。
本发明提出的技术方案中,通过解析配置信息获得的代码库路径以及主程序和子程序之间的依赖关系来从代码库中获取工程代码,对工程代码进行自动编译获得工程软件包,并根据预设配置的定制化脚本获取第三方软件包,将工程软件包和第三方软件包传输到服务器后即完成程序的发布,整个过程中只需开发人员预先设置配置信息即可实现自动执行获取代码、编译、打包和上传的待发布程序的自动化发布操作,简化发布过程和提高发布的可靠性。
进一步地,在上述程序发布系统第一实施例的基础上,所述发送模块500用于,根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
具体地,根据预先配置的服务器的IP地址和端口可以将工程软件包和第三方软件包传输至指定的服务器。当该项目需要发布的服务器的IP地址或端口发生变化时,可以在发布单中的服务器项里进行相应的修改。
向服务器发布软件包后,会接收一个软件包发布的进度信息或状态信息,以使开发人员知晓项目发布的进度和状态。状态信息可以是字符串标记,字符串标记包括:Success或Failure。若软件包发布成功,接收字符串标记Success,若软件包发布失败,接收字符串标记Failure。这样用户可以及时知晓发布的状态,当发布失败时,用户可以及时重新发布或修改应用文件内的信息,以保证发布成功。
另外,还可以配置软件包自动发布的发布策略,以设定多个软件包之间的顺序,根据所设定的多个软件包之间的顺序,执行多个软件包一次性同时发布的操作。由于一些大型项目需要同时发布多个软件包,而多个软件包之间存在一定的依赖性,因此,需要通过配置软件包自动发布的发布策略,以设定多个软件包之间的先后顺序,相当于形成一任务链。在设定完多个软件包之间的先后顺序之后,可以执行多个软件包一次性同时发布的操作。
进一步地,参照图5,为本发明程序发布系统的第二实施例,在上述程序发布系统第一实施例的基础上,所述程序发布系统还包括:
运行模块600,用于在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
具体地,动态脚本包括使所述待发布程序执行运行操作、安装操作和停止操作的指令。开发人员也可对动态脚本进行设置,动态脚本修改后可以控制待发布程序在目标服务器中的运行,比如修改或删除某些程序从而改变其在服务器中的运行,从而实现轻量级的扩展性。
进一步地,参照图6,为本发明程序发布系统的第三实施例,基于本发明程序发布系统的第一或第二实施例,所述程序发布系统还包括:
存储模块800,用于将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
回退模块700,用于当所述代码获取模块或所述编译模块执行的操作失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
具体地,当发布出错时,有两种解决方式:第一种,回退到一个已有的版本;第二种,查找当前发布版本的工程代码进行修改。
当以上获取工程代码或者编译步骤失败时通知开发人员错误信息,终止发布流程,并可以回退到一个已有的较低版本,从而提高回退版本的效率。
进一步地,所述存储模块800还用于,将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述回退模块700还用于,当所述编译模块执行的操作失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
具体地,当某个环节出现bug(漏洞)后,可通过版本号追溯到当时的环境,并找到当时的代码,方便修复代码。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种程序发布方法,其特征在于,所述程序发布方法包括:
解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系;
根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码;
根据所述配置信息中的定制化脚本下载第三方软件包;
将所述工程代码进行编译并打包为工程软件包;
将所述工程软件包和所述第三方软件包发送至目标服务器。
2.如权利要求1所述的程序发布方法,其特征在于,所述将所述工程软件包和所述第三方软件包发送至目标服务器的步骤包括:
根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
3.如权利要求2所述的程序发布方法,其特征在于,所述程序发布方法还包括:
在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
4.如权利要求1-3任一项所述的程序发布方法,其特征在于,所述将所述工程代码进行编译并打包为工程软件包的步骤之后还包括:
将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
当获取所述工程代码或编译所述工程代码失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
5.如权利要求4所述的程序发布方法,其特征在于,所述根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码的步骤之后还包括:
将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述程序发布方法还包括:
当编译所述工程代码失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
6.一种程序发布系统,其特征在于,所述程序发布系统包括:
解析模块,用于解析待发布程序的配置信息获得所述待发布程序的代码库路径,以及所述待发布程序的主程序和子程序之间的依赖关系;
代码获取模块,用于根据所述代码库路径和所述依赖关系从代码库中获取待发布程序对应的工程代码;
第三方软件包模块,用于根据所述配置信息中的定制化脚本下载第三方软件包;
编译模块,用于将所述工程代码进行编译并打包为工程软件包;
发送模块,用于将所述工程软件包和所述第三方软件包发送至目标服务器。
7.如权利要求6所述程序发布系统,其特征在于,所述发送模块用于,根据所述配置信息中的目标服务器的地址和端口将所述工程软件包和所述第三方软件包发送至所述目标服务器。
8.如权利要求7所述程序发布系统,其特征在于,所述程序发布系统还包括:
运行模块,用于在所述目标服务器中运行所述配置信息中的动态脚本以控制所述待发布程序的运行。
9.如权利要求6-8任一项所述的程序发布系统,其特征在于,所述程序发布系统还包括:
存储模块,用于将所述工程软件包、所述第三方软件包和所述配置信息中的版本号保存在本地服务器,并建立所述工程软件包和所述第三方软件包与所述配置信息中的版本号的映射关系;
回退模块,用于当所述代码获取模块或所述编译模块执行的操作失败时,从本地服务器获取比所述配置信息中的版本号低的版本号的工程软件包和第三方软件包,并发送至目标服务器。
10.如权利要求9所述的程序发布系统,其特征在于,所述存储模块还用于,将所述工程代码保存在本地服务器,并建立所述工程代码与所述配置信息中的版本号的映射关系;
所述回退模块还用于,当所述编译模块执行的操作失败时,根据所述配置信息中的版本号从本地服务器中查找所述待发布程序的工程代码。
CN201611193715.9A 2016-12-21 2016-12-21 程序发布方法及系统 Pending CN106775730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611193715.9A CN106775730A (zh) 2016-12-21 2016-12-21 程序发布方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611193715.9A CN106775730A (zh) 2016-12-21 2016-12-21 程序发布方法及系统

Publications (1)

Publication Number Publication Date
CN106775730A true CN106775730A (zh) 2017-05-31

Family

ID=58893836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611193715.9A Pending CN106775730A (zh) 2016-12-21 2016-12-21 程序发布方法及系统

Country Status (1)

Country Link
CN (1) CN106775730A (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704238A (zh) * 2017-11-28 2018-02-16 广州市千钧网络科技有限公司 一种对项目进行打包的方法及装置
CN107748662A (zh) * 2017-11-17 2018-03-02 深圳市泉眼网络科技有限公司 应用程序开发方法、终端及计算机可读存储介质
CN108415725A (zh) * 2018-03-01 2018-08-17 深圳市创梦天地科技有限公司 渠道应用包制作装置、方法、电子设备以及存储介质
CN108897547A (zh) * 2018-06-27 2018-11-27 北京神州泰岳软件股份有限公司 一种软件自动化部署方法及装置
CN108897542A (zh) * 2018-04-24 2018-11-27 北京奇艺世纪科技有限公司 一种软件工程调整方法、装置及电子设备
CN109189371A (zh) * 2018-08-06 2019-01-11 广东小天才科技有限公司 一种基于配置分离的软件包发布方法及装置
CN109522202A (zh) * 2017-09-18 2019-03-26 北京京东尚科信息技术有限公司 一种软件测试的方法和装置
CN109558146A (zh) * 2018-11-12 2019-04-02 泰康保险集团股份有限公司 应用程序发布方法、装置和存储介质
CN109558121A (zh) * 2018-11-26 2019-04-02 上海达梦数据库有限公司 接口驱动程序的开发方法、装置、设备及存储介质
CN109683905A (zh) * 2018-12-24 2019-04-26 国云科技股份有限公司 一种系统自动发布方法
CN109739551A (zh) * 2018-12-29 2019-05-10 上海连尚网络科技有限公司 应用程序发布系统、方法及装置,计算设备及存储介质
CN109787858A (zh) * 2018-12-29 2019-05-21 福建天泉教育科技有限公司 一种批量发布服务的方法及终端
CN109800016A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 工程自动部署方法、装置、计算机设备和存储介质
CN109828778A (zh) * 2018-12-07 2019-05-31 海南新软软件有限公司 一种Android移动端云配置打包方法及装置
CN109857405A (zh) * 2019-02-02 2019-06-07 Oppo广东移动通信有限公司 应用程序安装包的编译方法、装置、存储介质及终端
CN110109680A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署方法、装置及应用发布方法、服务器、存储介质
CN110109701A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署时的文件配置方法、装置及应用发布方法、装置
CN110134399A (zh) * 2019-03-15 2019-08-16 北京车和家信息技术有限公司 编译方法及装置
CN110597514A (zh) * 2018-06-13 2019-12-20 研祥智能科技股份有限公司 VxWorks下的程序发布系统
CN110647326A (zh) * 2019-09-20 2020-01-03 中国银行股份有限公司 基于NuGet程序包的软件复用方法、装置及系统
CN110750245A (zh) * 2019-10-17 2020-02-04 杭州涂鸦信息技术有限公司 一种应用程序开发方法及系统和设备
CN110750259A (zh) * 2018-07-23 2020-02-04 北京奇虎科技有限公司 构件的处理方法和装置
CN110825370A (zh) * 2018-08-08 2020-02-21 阿里巴巴集团控股有限公司 移动端应用开发方法、装置及系统
CN111338684A (zh) * 2020-03-20 2020-06-26 成都药王科技股份有限公司 一种程序发布方法
CN111367565A (zh) * 2020-03-20 2020-07-03 成都药王科技股份有限公司 一种程序发布系统
CN111381812A (zh) * 2018-12-28 2020-07-07 广州市百果园信息技术有限公司 程序发布方法、调用方法、装置、存储介质和计算机设备
CN111414226A (zh) * 2019-01-07 2020-07-14 北京智融网络科技有限公司 一种任务沙箱的建立方法和系统
CN111783103A (zh) * 2020-07-03 2020-10-16 Oppo广东移动通信有限公司 基于Maven的依赖管理方法、装置、电子装置及存储介质
CN112035161A (zh) * 2020-08-31 2020-12-04 上海识装信息科技有限公司 一种小程序发布校验的方法及并行发布的方法
CN112860285A (zh) * 2019-11-12 2021-05-28 深圳怡化电脑股份有限公司 金融自助设备的sp升级包生成方法、装置及计算机设备
CN113391827A (zh) * 2021-08-17 2021-09-14 湖南省佳策测评信息技术服务有限公司 一种基于自动化脚本的应用软件发布方法及系统
CN113485722A (zh) * 2021-06-30 2021-10-08 北京鲸鲮信息系统技术有限公司 应用商店的应用程序的上架方法、处理方法及计算机设备
CN114968278A (zh) * 2021-02-24 2022-08-30 Oppo广东移动通信有限公司 应用程序的安装方法和装置、电子设备、可读存储介质
CN116382703A (zh) * 2023-06-07 2023-07-04 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591667A (zh) * 2012-01-16 2012-07-18 深圳市同洲视讯传媒有限公司 一种远程发布应用的方法及装置
US8990771B2 (en) * 2011-08-19 2015-03-24 Red Hat, Inc. Building and distributing software packages
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN105893260A (zh) * 2016-03-31 2016-08-24 上海携程商务有限公司 呼叫中心的自动化发布系统和方法
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990771B2 (en) * 2011-08-19 2015-03-24 Red Hat, Inc. Building and distributing software packages
CN102591667A (zh) * 2012-01-16 2012-07-18 深圳市同洲视讯传媒有限公司 一种远程发布应用的方法及装置
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN105893260A (zh) * 2016-03-31 2016-08-24 上海携程商务有限公司 呼叫中心的自动化发布系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSFREEBIRD: "Jenkins中使用Git和Maven之多个项目", 《HTTPS://BLOG.CSDN.NET/SHEISMYLIFE/ARTICLE/DETAILS/7214683?UTM_SOURCE=BLOGXGWZ7》 *
丁振凡: "使用Maven工程", 《SPRING3.X编程技术与应用》 *
杏子肥: "maven 打包第三方依赖包", 《HTTPS://WWW.CNBLOGS.COM/XINGZIFEI/P/6063231.HTML》 *

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522202A (zh) * 2017-09-18 2019-03-26 北京京东尚科信息技术有限公司 一种软件测试的方法和装置
CN109522202B (zh) * 2017-09-18 2022-03-04 北京京东尚科信息技术有限公司 一种软件测试的方法和装置
CN107748662A (zh) * 2017-11-17 2018-03-02 深圳市泉眼网络科技有限公司 应用程序开发方法、终端及计算机可读存储介质
CN107704238B (zh) * 2017-11-28 2021-06-15 广州市千钧网络科技有限公司 一种对项目进行打包的方法及装置
CN107704238A (zh) * 2017-11-28 2018-02-16 广州市千钧网络科技有限公司 一种对项目进行打包的方法及装置
CN108415725A (zh) * 2018-03-01 2018-08-17 深圳市创梦天地科技有限公司 渠道应用包制作装置、方法、电子设备以及存储介质
CN108897542A (zh) * 2018-04-24 2018-11-27 北京奇艺世纪科技有限公司 一种软件工程调整方法、装置及电子设备
CN110597514A (zh) * 2018-06-13 2019-12-20 研祥智能科技股份有限公司 VxWorks下的程序发布系统
CN108897547B (zh) * 2018-06-27 2022-04-05 鼎富智能科技有限公司 一种软件自动化部署方法及装置
CN108897547A (zh) * 2018-06-27 2018-11-27 北京神州泰岳软件股份有限公司 一种软件自动化部署方法及装置
CN110750259A (zh) * 2018-07-23 2020-02-04 北京奇虎科技有限公司 构件的处理方法和装置
CN110750259B (zh) * 2018-07-23 2024-04-05 三六零科技集团有限公司 构件的处理方法和装置
CN109189371A (zh) * 2018-08-06 2019-01-11 广东小天才科技有限公司 一种基于配置分离的软件包发布方法及装置
CN109189371B (zh) * 2018-08-06 2022-03-01 广东小天才科技有限公司 一种基于配置分离的软件包发布方法及装置
CN110825370B (zh) * 2018-08-08 2023-04-18 阿里巴巴集团控股有限公司 移动端应用开发方法、装置及系统
CN110825370A (zh) * 2018-08-08 2020-02-21 阿里巴巴集团控股有限公司 移动端应用开发方法、装置及系统
CN109558146A (zh) * 2018-11-12 2019-04-02 泰康保险集团股份有限公司 应用程序发布方法、装置和存储介质
CN109558121A (zh) * 2018-11-26 2019-04-02 上海达梦数据库有限公司 接口驱动程序的开发方法、装置、设备及存储介质
CN109828778A (zh) * 2018-12-07 2019-05-31 海南新软软件有限公司 一种Android移动端云配置打包方法及装置
CN109800016A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 工程自动部署方法、装置、计算机设备和存储介质
CN109683905A (zh) * 2018-12-24 2019-04-26 国云科技股份有限公司 一种系统自动发布方法
CN111381812B (zh) * 2018-12-28 2023-12-26 广州市百果园信息技术有限公司 程序发布方法、调用方法、装置、存储介质和计算机设备
CN111381812A (zh) * 2018-12-28 2020-07-07 广州市百果园信息技术有限公司 程序发布方法、调用方法、装置、存储介质和计算机设备
CN109787858A (zh) * 2018-12-29 2019-05-21 福建天泉教育科技有限公司 一种批量发布服务的方法及终端
CN109739551A (zh) * 2018-12-29 2019-05-10 上海连尚网络科技有限公司 应用程序发布系统、方法及装置,计算设备及存储介质
CN109787858B (zh) * 2018-12-29 2021-01-26 福建天泉教育科技有限公司 一种批量发布服务的方法及终端
CN111414226A (zh) * 2019-01-07 2020-07-14 北京智融网络科技有限公司 一种任务沙箱的建立方法和系统
CN109857405A (zh) * 2019-02-02 2019-06-07 Oppo广东移动通信有限公司 应用程序安装包的编译方法、装置、存储介质及终端
CN110134399A (zh) * 2019-03-15 2019-08-16 北京车和家信息技术有限公司 编译方法及装置
CN110109680A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署方法、装置及应用发布方法、服务器、存储介质
CN110109701A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署时的文件配置方法、装置及应用发布方法、装置
CN110647326A (zh) * 2019-09-20 2020-01-03 中国银行股份有限公司 基于NuGet程序包的软件复用方法、装置及系统
CN110647326B (zh) * 2019-09-20 2023-10-24 中国银行股份有限公司 基于NuGet程序包的软件复用方法、装置及系统
CN110750245A (zh) * 2019-10-17 2020-02-04 杭州涂鸦信息技术有限公司 一种应用程序开发方法及系统和设备
CN112860285A (zh) * 2019-11-12 2021-05-28 深圳怡化电脑股份有限公司 金融自助设备的sp升级包生成方法、装置及计算机设备
CN112860285B (zh) * 2019-11-12 2024-05-10 深圳怡化电脑股份有限公司 金融自助设备的sp升级包生成方法、装置及计算机设备
CN111367565A (zh) * 2020-03-20 2020-07-03 成都药王科技股份有限公司 一种程序发布系统
CN111338684A (zh) * 2020-03-20 2020-06-26 成都药王科技股份有限公司 一种程序发布方法
CN111783103A (zh) * 2020-07-03 2020-10-16 Oppo广东移动通信有限公司 基于Maven的依赖管理方法、装置、电子装置及存储介质
CN111783103B (zh) * 2020-07-03 2024-06-04 Oppo广东移动通信有限公司 基于Maven的依赖管理方法、装置、电子装置及存储介质
CN112035161A (zh) * 2020-08-31 2020-12-04 上海识装信息科技有限公司 一种小程序发布校验的方法及并行发布的方法
CN114968278A (zh) * 2021-02-24 2022-08-30 Oppo广东移动通信有限公司 应用程序的安装方法和装置、电子设备、可读存储介质
CN113485722A (zh) * 2021-06-30 2021-10-08 北京鲸鲮信息系统技术有限公司 应用商店的应用程序的上架方法、处理方法及计算机设备
CN113391827A (zh) * 2021-08-17 2021-09-14 湖南省佳策测评信息技术服务有限公司 一种基于自动化脚本的应用软件发布方法及系统
CN116382703A (zh) * 2023-06-07 2023-07-04 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质
CN116382703B (zh) * 2023-06-07 2023-08-22 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN106775730A (zh) 程序发布方法及系统
CN106104467B (zh) 一种自动化部署方法和终端
CN108027722B (zh) 在编译和部署中动态更新应用
CN106371813B (zh) 一种基于Simulink的电动汽车电机控制器软件生成方法
Arcuri Evomaster: Evolutionary multi-context automated system test generation
US11194550B2 (en) System and method for migrating legacy software to a system common architecture
CN102035892A (zh) 操作系统版本自动发布和软件包自动更新的系统及方法
Arcuri et al. Unit test generation during software development: Evosuite plugins for maven, intellij and jenkins
CN106648786A (zh) Android应用程序构建方法及系统
CN102270128A (zh) 库一致性检查器
US11327720B2 (en) Automated generation of software bindings
CN103699385A (zh) 一种代码持续集成的方法
De Halleux et al. Moles: tool-assisted environment isolation with closures
Powell et al. The test and training enabling architecture (TENA)
CN109871241A (zh) 一种跨环境应用服务器的配置方法
Cheon Automated random testing to detect specification-code inconsistencies
CN111602115A (zh) 基于本体的应用程序开发的模型驱动方法
Fedchin et al. A toolkit for automated testing of Dafny
Song et al. Implementation on network teaching system based on Java EE architecture
Wehrmeister et al. AMoDE-RT: Advancing Model-Driven Engineering for embedded real-time systems
Tao et al. Model Based Methodology and Framework for Design and Management of Next-Gen IoT Systems.
Elsner Integrating System and Process Characteristics into Regression Test Optimization
Honfi et al. Supporting unit test generation via automated isolation
Willenbring et al. Providing a flexible and comprehensive software stack via Spack, E4S, and SDKs
Liangli et al. A reference model of grouped-metadata object and a change model based on it appling for component-based software integration testing

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531