CN112162753A - 软件部署方法、装置、计算机设备和存储介质 - Google Patents

软件部署方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112162753A
CN112162753A CN202011039829.4A CN202011039829A CN112162753A CN 112162753 A CN112162753 A CN 112162753A CN 202011039829 A CN202011039829 A CN 202011039829A CN 112162753 A CN112162753 A CN 112162753A
Authority
CN
China
Prior art keywords
code
compiled
environment
software
parameter
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
CN202011039829.4A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011039829.4A priority Critical patent/CN112162753A/zh
Publication of CN112162753A publication Critical patent/CN112162753A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种软件部署方法、装置、计算机设备和存储介质。所述方法包括:响应于软件部署指令,获取对应的配置信息,配置信息包括待编译代码参数和环境参数;根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包;根据环境参数确定对应的运行环境,将软件包部署到运行环境中。该方法可以应用于云环境下的部署服务,采用本方法能够提高部署效率。

Description

软件部署方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件部署方法、装置、计算机设备和存储介质。
背景技术
软件从开发到发布的流程通常会包含持续集成、持续交付和持续部署阶段,持续集成是指频繁地将开发人员提交的新代码集成到原有代码,以便尽早地发现集成错误。持续交付是指让软件在短周期内产出,确保软件随时可以被可靠地发布。持续部署是将代码自动部署到各个运行环境,使其能够尽快地被用户所使用。
公有云通常指第三方提供商为用户提供的能够使用的云,公有云环境下的部署需要支持多租户,多项目等概念,提供对公网开放的一个服务能力。私有云是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源,私有云环境表示对内部使用的一个环境。
传统技术的部署脚本编写比较复杂,灵活性较差,导致部署效率较低,不能友好地支持公有云环境和私有云环境下的持续集成与部署。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高部署效率的软件部署方法、装置、计算机设备和存储介质。
一种软件部署方法,所述方法包括:
响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
一种软件部署装置,所述装置包括:
获取模块,用于响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
集成模块,用于根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
部署模块,用于根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
上述软件部署方法、装置、计算机设备和存储介质,响应于软件部署指令,获取对应的配置信息,配置信息包括待编译代码参数和环境参数;根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包;根据环境参数确定对应的运行环境,将软件包部署到运行环境中。据此,将持续部署能力集成到持续集成流程中,当需要部署到多个不同环境时,可以通过修改具体的环境参数,实现不同环境的灵活配置,并实现一键式持续交付,而无需重新编写整体的流程逻辑代码,通过这种相对松耦合的流程设计能够实现多环境快速部署,提高部署效率,并能够友好地支持公有云环境和私有云环境下的持续集成与部署。
附图说明
图1为一个实施例中软件部署方法的应用环境图;
图2为一个实施例中软件部署方法的流程示意图;
图3为一个实施例中配置页面的示意图;
图4为一个实施例中软件部署方法的流程示意图;
图5为一个实施例中软件部署方法的流程示意图;
图6为一个实施例中软件部署方法的流程可视化示意图;
图7为一个实施例中软件部署装置的结构框图;
图8为一个实施例中计算机设备的内部结构图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的软件部署方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。用户可以通过终端102访问软件开发管理平台,服务器104可以是该平台所在的服务器。软件部署方法可以应用于安装有软件开发管理平台的终端,也可以应用于该平台所在的服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种软件部署方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤S202至步骤S206。
S202,响应于软件部署指令,获取对应的配置信息,配置信息包括待编译代码参数和环境参数。
软件部署指令表示触发软件部署流程的指令,软件部署流程包括拉取代码、编译、打包、部署的全流程,技术人员可以通过软件开发管理平台页面一键式发起软件部署指令,终端在接收到软件部署指令后,自动执行软件部署流程,无需人为再参与,据此可降低技术人员门槛。
具体地,以Coding平台为例,Coding平台集成了持续集成工具(如Jenkins)和持续部署工具(如Ansible),技术人员通过终端访问Coding平台,在相应的页面预先设置部署流程对应的配置信息,配置信息包括待编译代码参数和环境参数,其中,待编译代码参数用于指示后续要编译哪些代码,环境参数用于指示后续要将软件部署到哪些环境。技术人员设置好配置信息后,可以通过点击相应的控件以发起软件部署指令,终端接收到软件部署指令后,可以获取与该软件部署指令对应的配置信息。
S204,根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包。
从配置信息中获得待编译代码参数后,可以根据待编译代码参数从相应的代码仓库中获得与待编译代码参数对应的代码,作为待编译代码。编译是把高级语言的源代码处理成二进制语言的可执行代码的过程,例如,java环境使用mvn命令即可执行编译。将编译好的代码打包成软件包,放到相应的环境下即可实现部署服务。
S206,根据环境参数确定对应的运行环境,将软件包部署到运行环境中。
运行环境可以包括开发环境、测试环境、演示环境和生产环境中的一种或多种。通过修改环境参数,可以配置不同的运行环境,将软件包部署到不同的运行环境中,以实现多环境的快速部署。
上述软件部署方法中,响应于软件部署指令,获取对应的配置信息,配置信息包括待编译代码参数和环境参数;根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包;根据环境参数确定对应的运行环境,将软件包部署到运行环境中。据此,将持续部署能力集成到持续集成流程中,当需要部署到多个不同环境时,可以通过修改具体的环境参数,实现不同环境的灵活配置,并实现一键式持续交付,而无需重新编写整体的流程逻辑代码,通过这种相对松耦合的流程设计能够实现多环境快速部署,提高部署效率,并能够友好地支持公有云环境和私有云环境下的持续集成与部署。
在一个实施例中,在响应于软件部署指令,获取对应的配置信息之前,还可以包括以下步骤:响应于构建指令,生成配置页面;记录通过配置页面输入的配置信息。
构建指令表示触发参数配置页面的指令,技术人员通过终端访问Coding平台,在相应的页面发起构建指令,终端接收到构建指令后,生成并显示配置页面。如图3所示,提供了一个实施例中配置页面的示意图。配置页面中的配置参数包括软件代码参数(GIT_USERNAME、GIT_PASSWORD)、代码分支参数(BACKEND_BRANCH)和环境参数(HOSTS),还包括工具代码参数(CODE_USERNAME、CODE_PASSWORD)、部署机器参数(TEST_ASNSIBLE_SERVER)、是否编译后端代码参数(backend)、是否全量初始化参数(INIT)以及服务名称参数(SERVICE_NAME)。
其中,软件代码参数(GIT_USERNAME、GIT_PASSWORD)和代码分支参数(BACKEND_BRANCH)用于指示要编译的代码;环境参数(HOSTS)用于指示要部署的环境;工具代码参数(CODE_USERNAME、CODE_PASSWORD)用于指示持续集成工具Jenkins和持续部署工具Ansible的代码;部署机器参数(TEST_ASNSIBLE_SERVER)用于指示Ansible部署中控机;服务名称参数(SERVICE_NAME)用于指示待部署的服务,当SERVICE_NAME为“all”时,表示部署全量服务;是否编译后端代码参数(backend)用于指示是否编译后端代码;是否全量初始化参数(INIT)用于指示是否全量初始化,当INIT为“false”时,表示不初始化基础中间件的服务,只部署当前的应用服务。
技术人员在该配置页面输入具体的配置信息后,终端会记录该配置页面上的配置信息,并在接收到软件部署指令后,根据对应的配置信息自动执行软件部署流程。据此,技术人员可以通过配置页面灵活地设置参数信息,操作简单便捷,提高部署效率。
在一个实施例中,待编译代码参数包括:软件代码参数和代码分支参数;根据待编译代码参数获得对应的待编译代码的步骤,具体可以包括以下步骤:根据软件代码参数,从代码仓库中获得对应的软件代码;根据代码分支参数,从软件代码中获得对应的代码分支,作为待编译代码。
软件代码表示一个软件对应的所有代码,包含各个版本的代码,软件代码参数可以表示该软件代码的索引,如图3所示,软件代码参数包括GIT_USERNAME和GIT_PASSWORD字段的参数,通过该软件代码参数可以从代码仓库中查询获得该软件代码。代码分支属于软件代码中的一部分,代码分支参数可以表示该代码分支的索引,如图3所示,代码分支参数为BACKEND_BRANCH字段的参数,通过该代码分支参数可以从该软件代码中查询获得该代码分支。
在一个实施例中,环境参数包括服务器参数和运行参数;根据环境参数确定对应的运行环境的步骤,具体可以是:根据服务器参数和运行参数确定对应的运行环境。
服务器参数可以包括虚拟机或物理机的互联网协议(IP)地址,不同的IP地址对应不同的运行环境。运行参数可以包括软件程序本身的运行参数。服务器参数和运行参数可以设置在Ansible的本身配置文件HOSTS里面,如图3所示,服务器参数和运行参数为HOSTS字段的文件中所包含的配置信息,通过该HOSTS文件可以指定需要部署到哪些环境。
在一个实施例中,配置信息还包括部署机器参数和服务名称参数,将软件包部署到运行环境中的步骤,具体可以包括以下步骤:根据部署机器参数确定对应的部署机器;根据服务名称参数确定对应的待部署服务;从软件包中获取与待部署服务对应的代码,调用部署机器将与待部署服务对应的代码部署到运行环境中。
部署机器参数具体可以是Ansible部署中控机的IP地址,如图3所示,部署机器参数为TEST_ASNSIBLE_SERVER字段的参数,通过该部署机器参数可以指定对应的Ansible部署中控机。服务名称参数用于指定部署全量服务还是单个微服务,如图3所示,服务名称参数为SERVICE_NAME字段的参数,当服务名称参数为“all”时,表示部署全量服务,当服务名称参数为单个微服务名称时,表示指定单个微服务,服务名称参数也可以设置多个,用以指定多个微服务。微服务后台本身是由很多应用服务组成,有时候只需要更新其中一部分服务,有时候需要把后台的所有服务全部更新、重启等,因此通过该服务名称参数来指定需要更新的服务,以支持全量服务以及单个服务的构建与部署。
在一个实施例中,配置信息还包括工具代码参数,工具代码参数对应的工具代码包括集成工具代码和部署工具代码;根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包的步骤,具体可以是:调用集成工具代码,根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包;根据环境参数确定对应的运行环境,将软件包部署到运行环境中的步骤,具体可以是:调用部署工具代码,根据环境参数确定对应的运行环境,将软件包部署到运行环境中。
工具代码表示持续集成工具Jenkins和持续部署工具Ansible的代码,其被执行时用于实现软件部署流程,工具代码参数可以表示该工具代码的索引,如图3所示,工具代码参数包括CODE_USERNAME和CODE_PASSWORD字段的参数,通过该工具代码参数可以查询获得该工具代码。将该工具代码集成到整体流程逻辑代码中,调用集成工具代码,根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包,调用部署工具代码,根据环境参数确定对应的运行环境,将软件包部署到运行环境中。据此,当需要修改运行环境时,只需调整环境配置信息即可,而无需修改工具代码和整体流程逻辑代码,能够实现多环境快速部署,提高部署效率。
在一个实施例中,如图4所示,提供了一种软件部署方法,包括以下步骤S402至步骤S408。
S402,响应于构建指令,生成配置页面,记录通过配置页面输入的配置信息。
S404,响应于软件部署指令,获取对应的配置信息,配置信息包括:工具代码参数、软件代码参数、代码分支参数、服务器参数、运行参数、部署机器参数和服务名称参数。
S406,调用工具代码参数对应的集成工具代码,根据软件代码参数,从代码仓库中获得对应的软件代码,根据代码分支参数,从软件代码中获得对应的代码分支,作为待编译代码,对待编译代码进行编译,生成软件包。
S408,调用工具代码参数对应的部署工具代码,根据服务器参数和运行参数确定对应的运行环境,根据部署机器参数确定对应的部署机器,根据服务名称参数确定对应的待部署服务,从软件包中获取与待部署服务对应的代码,调用部署机器将与待部署服务对应的代码部署到运行环境中。
关于步骤S402~S408的具体描述可以参见前文实施例,在此不再赘述。本实施例可以将Ansible的持续部署能力集成到Coding平台的Jenkins的pipline流程中,如图5所示,Coding平台集成了Jenkins工具,首先,Coding平台从代码仓库(如git.code.tencent.com)中拉取代码;然后,利用编译机执行编译,比如java环境使用mvn命令(mvn clean install-Dmaven.test.skip=true)即可;接着,将编译好的代码打包到Ansible部署中控机上;最后,执行Ansible的部署命令ansible-playbook,根据配置的环境信息(HOST文件信息),部署到相应的云环境下。该流程规范了编译、部署和交付的过程,减少人为参与因素,可以实现多环境快速部署,能够友好地支持在公有云环境和私有云环境下的开发、测试和部署。如图6所示,提供了一个实施例中软件部署方法的流程可视化示意图,通过Coding平台的流程可视化能力,可以直观地看到流程中各节点的状态,方便技术人员获取相关信息。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种软件部署装置700,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块710、集成模块720和部署模块730,其中:
获取模块710,用于响应于软件部署指令,获取对应的配置信息,配置信息包括待编译代码参数和环境参数。
集成模块720,用于根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包。
部署模块730,用于根据环境参数确定对应的运行环境,将软件包部署到运行环境中。
在一个实施例中,待编译代码参数包括:软件代码参数和代码分支参数;集成模块720在根据待编译代码参数获得对应的待编译代码时,具体用于:根据软件代码参数,从代码仓库中获得对应的软件代码;根据代码分支参数,从软件代码中获得对应的代码分支,作为待编译代码。
在一个实施例中,环境参数包括服务器参数和运行参数;部署模块730在根据环境参数确定对应的运行环境时,具体用于根据服务器参数和运行参数确定对应的运行环境。
在一个实施例中,配置信息还包括部署机器参数和服务名称参数;部署模块730在将软件包部署到运行环境中时,具体用于:根据部署机器参数确定对应的部署机器;根据服务名称参数确定对应的待部署服务;从软件包中获取与待部署服务对应的代码,调用部署机器将与待部署服务对应的代码部署到运行环境中。
在一个实施例中,配置信息还包括工具代码参数,工具代码参数对应的工具代码包括集成工具代码和部署工具代码;集成模块720在根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包时,具体用于:调用集成工具代码,根据待编译代码参数获得对应的待编译代码,对待编译代码进行编译,生成软件包;部署模块730在根据环境参数确定对应的运行环境,将软件包部署到运行环境中时,具体用于:调用部署工具代码,根据环境参数确定对应的运行环境,将软件包部署到运行环境中。
在一个实施例中,运行环境包括开发环境、测试环境、演示环境和生产环境中的一种或多种。
在一个实施例中,该装置还包括配置模块,用于:在响应于软件部署指令,获取对应的配置信息之前,响应于构建指令,生成配置页面;记录通过配置页面输入的配置信息。
关于软件部署装置的具体限定可以参见上文中对于软件部署方法的限定,在此不再赘述。上述软件部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件部署方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种软件部署方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8或图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的软件部署装置可以实现为一种计算机程序的形式,计算机程序可在如图8或图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该软件部署装置的各个程序模块,比如,图7所示的获取模块、集成模块和部署模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的软件部署方法中的步骤。
例如,图8或图9所示的计算机设备可以通过如图7所示的软件部署装置中的获取模块执行步骤S202。计算机设备可通过集成模块执行步骤S204。计算机设备可通过部署模块执行步骤S206。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件部署方法,其特征在于,所述方法包括:
响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
2.根据权利要求1所述的方法,其特征在于,所述待编译代码参数包括:软件代码参数和代码分支参数;根据所述待编译代码参数获得对应的待编译代码,包括:
根据所述软件代码参数,从代码仓库中获得对应的软件代码;
根据所述代码分支参数,从所述软件代码中获得对应的代码分支,作为待编译代码。
3.根据权利要求2所述的方法,其特征在于,所述环境参数包括服务器参数和运行参数;根据所述环境参数确定对应的运行环境,包括:
根据所述服务器参数和所述运行参数确定对应的运行环境。
4.根据权利要求3所述的方法,其特征在于,所述配置信息还包括部署机器参数和服务名称参数;将所述软件包部署到所述运行环境中,包括:
根据所述部署机器参数确定对应的部署机器;
根据所述服务名称参数确定对应的待部署服务;
从所述软件包中获取与所述待部署服务对应的代码,调用所述部署机器将与所述待部署服务对应的代码部署到所述运行环境中。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述配置信息还包括工具代码参数,所述工具代码参数对应的工具代码包括集成工具代码和部署工具代码;
根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包,包括:
调用所述集成工具代码,根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中,包括:
调用所述部署工具代码,根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
6.根据权利要求1所述的方法,其特征在于,所述运行环境包括开发环境、测试环境、演示环境和生产环境中的一种或多种。
7.根据权利要求1所述的方法,其特征在于,在响应于软件部署指令,获取对应的配置信息之前,还包括:
响应于构建指令,生成配置页面;
记录通过所述配置页面输入的配置信息。
8.一种软件部署装置,其特征在于,所述装置包括:
获取模块,用于响应于软件部署指令,获取对应的配置信息,所述配置信息包括待编译代码参数和环境参数;
集成模块,用于根据所述待编译代码参数获得对应的待编译代码,对所述待编译代码进行编译,生成软件包;
部署模块,用于根据所述环境参数确定对应的运行环境,将所述软件包部署到所述运行环境中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011039829.4A 2020-09-28 2020-09-28 软件部署方法、装置、计算机设备和存储介质 Pending CN112162753A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011039829.4A CN112162753A (zh) 2020-09-28 2020-09-28 软件部署方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011039829.4A CN112162753A (zh) 2020-09-28 2020-09-28 软件部署方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112162753A true CN112162753A (zh) 2021-01-01

Family

ID=73861846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011039829.4A Pending CN112162753A (zh) 2020-09-28 2020-09-28 软件部署方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112162753A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860277A (zh) * 2021-02-04 2021-05-28 江苏云从曦和人工智能有限公司 软件部署方法、装置以及计算机可读存储介质
CN113032245A (zh) * 2021-02-26 2021-06-25 深圳壹账通创配科技有限公司 错误定位识别的测试方法、装置、计算机设备及存储介质
CN113094081A (zh) * 2021-04-06 2021-07-09 中国工商银行股份有限公司 软件发布方法、装置、计算机系统和计算机可读存储介质
CN113127150A (zh) * 2021-03-18 2021-07-16 同盾控股有限公司 云原生系统的快速部署方法、装置、电子设备和存储介质
CN113360164A (zh) * 2021-05-27 2021-09-07 上海信宝博通电子商务有限公司 快速部署应用的方法、装置及存储介质
CN113377385A (zh) * 2021-06-07 2021-09-10 中国工商银行股份有限公司 客户端自动部署方法及装置
CN113467931A (zh) * 2021-06-04 2021-10-01 中国联合网络通信集团有限公司 算力任务的处理方法、装置及系统
CN113504939A (zh) * 2021-07-08 2021-10-15 建信金融科技有限责任公司 项目版本发布的管理方法、装置、电子设备及计算机可读介质
CN114296832A (zh) * 2021-12-31 2022-04-08 北京易华录信息技术股份有限公司 一种部署微服务的生产环境的方法和装置
CN116382703A (zh) * 2023-06-07 2023-07-04 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN109725910A (zh) * 2018-09-12 2019-05-07 网联清算有限公司 应用程序的标准化发布方法、发布装置和发布系统
CN110413288A (zh) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 应用部署方法、装置、服务器及存储介质
CN110677308A (zh) * 2019-11-05 2020-01-10 四川长虹电器股份有限公司 一种代码自动化部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN109725910A (zh) * 2018-09-12 2019-05-07 网联清算有限公司 应用程序的标准化发布方法、发布装置和发布系统
CN110413288A (zh) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 应用部署方法、装置、服务器及存储介质
CN110677308A (zh) * 2019-11-05 2020-01-10 四川长虹电器股份有限公司 一种代码自动化部署方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860277A (zh) * 2021-02-04 2021-05-28 江苏云从曦和人工智能有限公司 软件部署方法、装置以及计算机可读存储介质
CN113032245A (zh) * 2021-02-26 2021-06-25 深圳壹账通创配科技有限公司 错误定位识别的测试方法、装置、计算机设备及存储介质
CN113127150B (zh) * 2021-03-18 2023-10-17 同盾控股有限公司 云原生系统的快速部署方法、装置、电子设备和存储介质
CN113127150A (zh) * 2021-03-18 2021-07-16 同盾控股有限公司 云原生系统的快速部署方法、装置、电子设备和存储介质
CN113094081A (zh) * 2021-04-06 2021-07-09 中国工商银行股份有限公司 软件发布方法、装置、计算机系统和计算机可读存储介质
CN113094081B (zh) * 2021-04-06 2024-03-01 中国工商银行股份有限公司 软件发布方法、装置、计算机系统和计算机可读存储介质
CN113360164A (zh) * 2021-05-27 2021-09-07 上海信宝博通电子商务有限公司 快速部署应用的方法、装置及存储介质
CN113467931A (zh) * 2021-06-04 2021-10-01 中国联合网络通信集团有限公司 算力任务的处理方法、装置及系统
CN113467931B (zh) * 2021-06-04 2023-12-22 中国联合网络通信集团有限公司 算力任务的处理方法、装置及系统
CN113377385A (zh) * 2021-06-07 2021-09-10 中国工商银行股份有限公司 客户端自动部署方法及装置
CN113504939A (zh) * 2021-07-08 2021-10-15 建信金融科技有限责任公司 项目版本发布的管理方法、装置、电子设备及计算机可读介质
CN114296832A (zh) * 2021-12-31 2022-04-08 北京易华录信息技术股份有限公司 一种部署微服务的生产环境的方法和装置
CN116382703A (zh) * 2023-06-07 2023-07-04 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质
CN116382703B (zh) * 2023-06-07 2023-08-22 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN112162753A (zh) 软件部署方法、装置、计算机设备和存储介质
US11178207B2 (en) Software version control without affecting a deployed container
US10162624B1 (en) Web shell for dynamically generated cross-platform applications
CN108763090B (zh) 测试环境部署方法、装置、计算机设备和存储介质
US11347555B2 (en) Integrated system to distribute and execute complex applications
US10387199B2 (en) Container chaining for automated process completion
US10545775B2 (en) Hook framework
JP6813152B2 (ja) ソフトウェア・コンテナ中のソフトウェアの識別を決定するための方法、システム、およびプログラム
US11042387B2 (en) Deploying cross-platform applications on mobile devices with native and web components
CN111527474A (zh) 软件功能的动态交付
CN112256321A (zh) 静态库打包方法、装置、计算机设备和存储介质
CN111399840B (zh) 一种模块开发方法及装置
US20230401058A1 (en) Semantic functional wrappers of services
CN115292026A (zh) 容器集群的管理方法、装置、设备及计算机可读存储介质
US9513948B2 (en) Automated virtual machine provisioning based on defect state
CN113296758B (zh) 一种前端组件库构建方法、装置及存储介质
Tang et al. Application centric lifecycle framework in cloud
CN112596746A (zh) 应用安装包生成方法、装置、计算机设备和存储介质
CN109491762B (zh) 容器状态控制方法及装置、存储介质、电子设备
CN109933355B (zh) 应用程序升级方法及装置
US11640281B2 (en) Tool for introspection in object-oriented source code
CN118056183A (zh) 优化即时编译过程
CN112214213A (zh) Linux内核的开发和管理方法、装置、计算机设备和存储介质
US20230033609A1 (en) Method of managing at least one network element
CN111506301B (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