CN112564989A - 应用部署方法和装置 - Google Patents
应用部署方法和装置 Download PDFInfo
- Publication number
- CN112564989A CN112564989A CN202110199208.0A CN202110199208A CN112564989A CN 112564989 A CN112564989 A CN 112564989A CN 202110199208 A CN202110199208 A CN 202110199208A CN 112564989 A CN112564989 A CN 112564989A
- Authority
- CN
- China
- Prior art keywords
- server
- application
- deployment
- server information
- servers
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种应用部署方法、装置、电子设备和计算机可读存储介质,解决了现有应用部署方式繁琐、效率低以及容易出错的问题。该应用部署方法包括:基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;基于应用代码构建应用工程文件;以及当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器。
Description
技术领域
本发明涉及软件开发技术领域,特别是指一种应用部署方法、装置、电子设备和计算机可读存储介质。
背景技术
随着软件开发技术的演进,互联网+模式的运用,数字化生活的快速发展,大数据业务的应用,系统架构越来越大,所依赖应用服务越多来越多,相对的所需服务器的数量也逐步增长。进而提高了软件开发、测试、部署及运维的复杂度。
现有的大型系统,服务器数量可达几百上千台,一台台的进行环境初始化是比较耗时间的。基础服务集群化部署耗时,配置繁多极易出错。大型系统依赖服务器多,基础服务集群化,生产环境部署耗时。生产环境每次升级都需要重复相同的操作,浪费人力。采用现有的应用部署模式比较繁琐,开发及测试环境可能因人员的不同导致环境不一致。
发明内容
本发明要解决的是现有应用部署方式繁琐、效率低以及容易出错的问题。
为解决上述技术问题,本发明的实施例提供一种应用部署方法包括:基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;基于应用代码构建应用工程文件;以及当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器。
在本发明的实施例中,基于应用代码构建应用工程文件包括:基于应用代码构建开发工程文件,将开发工程文件部署到开发环境下的服务器;当在开发环境下的服务器上测试通过后,将开发工程文件部署到测试环境下的服务器;当在测试环境下的服务器上测试通过后,将应用代码与预发布环境代码库中的代码合并为第一合并代码,基于第一合并代码构建预发布工程文件,将预发布工程文件部署到预发布环境下的服务器;当在预发布环境下的服务器上测试通过后,将第一合并代码与生产环境代码库中的代码合并为第二合并代码,基于第二合并代码构建应用工程文件。
在本发明的实施例中,该方法进一步包括:对生产环境下的多个指定服务器进行初始化配置。
在本发明的实施例中,对生产环境下的多个指定服务器进行初始化配置包括:基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;以及根据批量提取的服务器信息,在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以分别完成对多个指定服务器的环境配置操作。
在本发明的实施例中,环境配置操作包括以下几项中的一种或多种组合:服务器时间同步、编译语言环境配置、防火墙自动关闭、数据库初始化和远程字典服务集群自动部署。
在本发明的实施例中,基于服务器信息列表,批量提取服务器信息包括:基于服务器信息列表,批量提取服务器信息存储在文本文件中;其中,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码包括:基于脚本文件调用文本文件,以在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码。
在本发明的实施例中,当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器包括:将多个指定服务器的多个网络地址填入基础包配置文件;以及基于应用部署指令调用基础包配置文件,以将应用工程文件分别部署到多个指定服务器。
本发明的实施例还提供一种应用部署装置,包括:服务器信息提取模块,配置为基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;构建模块,配置为基于应用代码构建应用工程文件;以及部署执行模块,配置为当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器。
在本发明的实施例中,构建模块包括:构建部署单元,配置为基于应用代码构建开发工程文件,将开发工程文件部署到开发环境下的服务器;开发环境测试单元,配置为在开发环境下的服务器上测试开发工程文件;测试环境测试单元,配置为在测试环境下的服务器上测试开发工程文件;预发布环境测试单元,配置为在预发布环境下的服务器上测试预发布工程文件;其中,构建部署单元,进一步配置为当在开发环境下的服务器上测试通过后,将开发工程文件部署到测试环境下的服务器;其中,构建部署单元,进一步配置为当在测试环境下的服务器上测试通过后,将应用代码与预发布环境代码库中的代码合并为第一合并代码,基于第一合并代码构建预发布工程文件,将预发布工程文件部署到预发布环境下的服务器;其中,构建部署单元,进一步配置为当在预发布环境下的服务器上测试通过后,将第一合并代码与生产环境代码库中的代码合并为第二合并代码,基于第二合并代码构建应用工程文件。
在本发明的实施例中,应用部署装置进一步包括:初始化模块,配置为对生产环境下的多个指定服务器进行初始化配置。
在本发明的实施例中,初始化模块进一步配置为:基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;以及根据批量提取的服务器信息,在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以分别完成对多个指定服务器的环境配置操作。
在本发明的实施例中,环境配置操作包括以下几项中的一种或多种组合:服务器时间同步、编译语言环境配置、防火墙自动关闭、数据库初始化和远程字典服务集群自动部署。
在本发明的实施例中,基服务器信息提取模块进一步配置为:基于服务器信息列表,批量提取服务器信息存储在文本文件中;其中,部署执行模块进一步配置为:基于脚本文件调用文本文件,以在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码。
在本发明的实施例中,后台服务器通过长连接将服务消息发送给主应用;和/或,主应用通过钩子函数将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
在本发明的实施例中,部署执行模块进一步配置为:将多个指定服务器的多个网络地址填入基础包配置文件;以及基于应用部署指令调用基础包配置文件,以将应用工程文件分别部署到多个指定服务器。
本发明的实施例还提供一种电子设备,包括:处理器;存储器;以及存储在存储器中的计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上所述的应用部署方法。
本发明的实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行如上所述的应用部署方法。
本发明的实施例还提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行如上所述的应用部署方法。
本发明的上述技术方案的有益效果如下:
上述方案中,通过批量自动提取服务器列表中的用户名和密码,可在后续应用部署的过程中实现自动免密操作,能够加快应用的软件交付,降低交付与运维复杂度。同时,由于运维及实施人员只需配置指定服务器对应的网络地址即可完成生产环境的部署,参数配置数量降低,大大减轻了维及实施人员的工作负担。由此可见,本发明的实施例提供的应用部署方式可实现应用的快速部署,显著加快应用的软件交付进度,降低操作复杂度,提高部署操作一致性,从而实现整个系统的快速更新或升级。
附图说明
图1为本发明的一种应用部署方法的流程示意图。
图2为本发明的一种应用部署方法中基于待部署的多个指定服务器的多个网络地址以及应用部署指令进行部署的流程示意图。
图3为本发明的一种应用部署方法中基于应用代码构建应用工程文件的流程示意图。
图4为本发明的一种应用部署方法中对生产环境下的多个指定服务器进行初始化配置的流程示意图。
图5为本发明的一种应用部署装置的结构示意图。
图6为本发明的一种应用部署装置的结构示意图。
图7为本发明的一种电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的应用部署方式效率低的问题,提供一种子应用部署方法、装置、电子设备和计算机可读存储介质。
示例性应用部署方法
图1为本发明的一种应用部署方法的流程示意图。如图1所示,本发明的实施例的子应用部署方法包括如下步骤。
101,基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息。
具体而言,服务器列表可以是一个包括了多台服务器的服务器信息的Excel列表,也可以是其他格式的数据列表。服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息。这里的用户名和密码用于登陆服务器以调用服务器上的计算资源和存储资源完成应用对应的操作,网络地址信息用于在后续的应用部署过程中明确部署指令的传输目的地址,以实现对指定服务器的部署。
在本发明的实施例中,基于服务器信息列表,批量提取服务器信息包的过程可具体为:基于服务器信息列表,批量提取服务器信息存储在文本文件中。例如,可利用python脚本b.py自动提取服务器的用户名密码信息,当服务器信息列表为一个Excel列表文件a.xls,通过代码指令python b.py a.xls便可生成包含用户名、密码和服务器的网络地址信息的c.txt。
102,基于应用代码构建应用工程文件。
应用代码在编写完成后,需要经过编译、打包和测试过程才能生成可直接部署在生产环境下的服务器的应用工程文件。该基于应用代码构建应用工程文件的具体过程将在后续实施例中阐明。
103,当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器。
具体而言,待部署的多个指定服务器的多个网络地址可由实施人员配置完成,操作人员根据生产环境下的服务器的种类和数量配置待部署的多个指定服务器的多个网络地址,并发起应用部署指令。
如前所述,当基于服务器信息列表,批量提取服务器信息存储在文本文件中时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码便可具体包括:基于脚本文件调用文本文件,以在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码。例如,可利用下述shell脚本指令完成上述批量填充动作,以实现批量免密操作:/usr/bin/sh d.sh c.txt。
应当理解,部署工程文件可以包括预先编写好的部署脚本(例如,基于ansible运维工具实现)以及配置基础环境所需要的部署数据包,根据所需要部署的生产环境,操作人员配置指定服务器对应的网络地址信息,执行一条应用部署指令即可完成应用部署过程。
在本发明的实施例中,如图2所示,上述基于待部署的多个指定服务器的多个网络地址以及应用部署指令进行部署的具体过程可包括:将多个指定服务器的多个网络地址填入基础包配置文件(S21),该基础包配置文件可以是命名为hosts的系统文件,里面分布的是各个基础包配置,部署人员只需根据部署需求填充网络地址即可;以及基于应用部署指令调用基础包配置文件,以将应用工程文件分别部署到多个指定服务器(S22)。例如,当部署工程文件基于ansible运维工具实现时,应用部署指令的具体内容就可为:ansible-playbook -i hosts all ansible.yml。
本发明的实施例提供的应用部署方法,通过批量自动提取服务器列表中的用户名和密码,可在后续应用部署的过程中实现自动免密操作,能够加快应用的软件交付,降低交付与运维复杂度。同时,由于运维及实施人员只需配置指定服务器对应的网络地址即可完成生产环境的部署,参数配置数量降低,大大减轻了维及实施人员的工作负担。由此可见,本发明的实施例提供的应用部署方法可实现应用的快速部署,显著加快应用的软件交付进度,降低操作复杂度,提高部署操作一致性,从而实现整个系统的快速更新或升级。
图3为本发明的一种应用部署方法中基于应用代码构建应用工程文件的流程示意图。如图3所示,该基于应用代码构建应用工程文件的具体过程可包括如下步骤。
301,基于应用代码构建开发工程文件,将开发工程文件部署到开发环境下的服务器。
具体而言,基于软件代码构建工程文件可通过开源持续集成系统(例如Jenkins)实现。开发人员可将代码提交到gitlab的开发分支,利用Jenkins完成开发分支的构建、执行ansible命令将开发工程文件部署到开发环境下的服务器。
302,当在开发环境下的服务器上测试通过后,将开发工程文件部署到测试环境下的服务器。
当在开发环境下的服务器上测试通过后,可执行ansible命令将开发工程文件部署到测试环境下的服务器,以进行测试环境下的软件测试。
303,当在测试环境下的服务器上测试通过后,将应用代码与预发布环境代码库中的代码合并为第一合并代码,基于第一合并代码构建预发布工程文件,将预发布工程文件部署到预发布环境下的服务器。
当在测试环境下测试无问题后,将应用代码与预发布环境代码库中的代码合并以满足预发布环境下服务器的运行要求,Jenkins自动构建预发布工程文件,执行ansible命令将预发布工程文件部署到预发布环境下的服务器。
304,当在预发布环境下的服务器上测试通过后,将第一合并代码与生产环境代码库中的代码合并为第二合并代码,基于第二合并代码构建应用工程文件。
当在预发布环境下测试无问题后,将第一合并代码与生产环境代码库中的代码合并为第二合并代码合并以满足生产环境下服务器的运行要求,Jenkins自动构建可部署在生产环境下服务器上的应用工程文件。
由此可见,通过如图3所示的应用开发过程,显著降低了大型系统微服务架构的开发测试初始化工作量,开发和测试人员只需执行简单的命令即可完成开发测试工作。
在本发明的另一实施例中,在开始进行如图1所示的应用部署流程之前,还需要先对对生产环境下的多个指定服务器进行初始化配置。具体而言,如图4所示,该对生产环境下的多个指定服务器进行初始化配置的过程可具体包括如下步骤。
401,基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息。
基于服务器信息列表,批量提取服务器信息包的过程可具体为:基于服务器信息列表,批量提取服务器信息存储在文本文件中。例如,可利用python脚本b.py自动提取服务器的用户名密码信息,当服务器信息列表为一个Excel列表文件a.xls,通过代码指令python b.py a.xls便可生成包含用户名、密码和服务器的网络地址信息的c.txt。
402,根据批量提取的服务器信息,在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以分别完成对多个指定服务器的环境配置操作。
如前所述,当基于服务器信息列表,批量提取服务器信息存储在文本文件中时,根据批量提取的服务器信息,在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码便可具体包括:基于脚本文件调用文本文件,以在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码。例如,可利用下述shell脚本指令完成上述批量填充动作,以实现批量免密操作:/usr/bin/sh d.sh c.txt。
初始化工程文件所实现的环境配置操作包括以下几项中的一种或多种组合:服务器时间同步、编译语言环境配置、防火墙自动关闭、数据库初始化和远程字典服务集群自动部署。然而应当理解,生产环境下的各服务器分别需要什么样的环境配置操作是与实际的应用场景需求有关的,本发明对该环境配置操作的具体内容并不足严格限定。
应当理解,初始化工程文件可以包括预先编写好的脚本(例如,基于ansible运维工具实现)以及配置基础环境所需要的初始化数据包,根据所需要部署的生产环境,操作人员配置指定服务器对应的网络地址信息,执行一条初始化指令即可完成该初始化过程。
由此可见,本发明的实施例提供的应用部署方法,实现了初始化、开发、测试、预发布、生产环境的一系列自动部署流程,且部署流程的各部分分工明确,可快速地对对一套全新的生产环境进行初始化,并保证开发、测试及生产环境的一致性,快速构建、打包业务应用,并可快速升级系统。
示例性应用部署装置
图5为本发明的一种应用部署装置的结构示意图。如图5所示,该一种应用部署装置50包括:
服务器信息提取模块501,配置为基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;
构建模块502,配置为基于应用代码构建应用工程文件;以及
部署执行模块503,配置为当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的服务器信息,在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以将应用工程文件分别部署到多个指定服务器。
本发明的实施例提供的应用部署装置,通过批量自动提取服务器列表中的用户名和密码,可在后续应用部署的过程中实现自动免密操作,能够加快应用的软件交付,降低交付与运维复杂度。同时,由于运维及实施人员只需配置指定服务器对应的网络地址即可完成生产环境的部署,参数配置数量降低,大大减轻了维及实施人员的工作负担。由此可见,本发明的实施例提供的应用部署方法可实现应用的快速部署,显著加快应用的软件交付进度,降低操作复杂度,提高部署操作一致性,从而实现整个系统的快速更新或升级。
在本发明的实施例中,如图6所示,构建模块502包括:
构建部署单元5021,配置为基于应用代码构建开发工程文件,将开发工程文件部署到开发环境下的服务器;
开发环境测试单元5022,配置为在开发环境下的服务器上测试开发工程文件;
测试环境测试单元5023,配置为在测试环境下的服务器上测试开发工程文件;
预发布环境测试单元5024,配置为在预发布环境下的服务器上测试预发布工程文件;
其中,构建部署单元5021,进一步配置为当在开发环境下的服务器上测试通过后,将开发工程文件部署到测试环境下的服务器;
其中,构建部署单元5021,进一步配置为当在测试环境下的服务器上测试通过后,将应用代码与预发布环境代码库中的代码合并为第一合并代码,基于第一合并代码构建预发布工程文件,将预发布工程文件部署到预发布环境下的服务器;
其中,构建部署单元5021,进一步配置为当在预发布环境下的服务器上测试通过后,将第一合并代码与生产环境代码库中的代码合并为第二合并代码,基于第二合并代码构建应用工程文件。
在本发明的实施例中,如图5所示,应用部署装置50进一步包括:
初始化模块504,配置为对生产环境下的多个指定服务器进行初始化配置。
在本发明的实施例中,初始化模块504进一步配置为:基于服务器信息列表,批量提取服务器信息,其中,服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;以及根据批量提取的服务器信息,在初始化工程文件中批量填充与多个指定服务器分别对应的用户名和密码,以分别完成对多个指定服务器的环境配置操作。
在本发明的实施例中,环境配置操作包括以下几项中的一种或多种组合:服务器时间同步、编译语言环境配置、防火墙自动关闭、数据库初始化和远程字典服务集群自动部署。
在本发明的实施例中,基服务器信息提取模块501进一步配置为:基于服务器信息列表,批量提取服务器信息存储在文本文件中;
其中,部署执行模块503进一步配置为:基于脚本文件调用文本文件,以在部署工程文件中批量填充与多个指定服务器分别对应的用户名和密码。
在本发明的实施例中,部署执行模块503进一步配置为:将多个指定服务器的多个网络地址填入基础包配置文件;以及基于应用部署指令调用基础包配置文件,以将应用工程文件分别部署到多个指定服务器。
上述应用部署装置50中的各个模块的具体功能和操作已经在上面参考图1到图4描述的应用部署方法中进行了详细介绍,上述应用部署装置50中的各个模块的具体功能和操作已经在上面参考图1到图4描述的应用部署方法中进行了详细介绍,因此,这里将省略其重复描述。
需要说明的是,根据本发明的实施例的应用部署装置50可以作为一个软件模块和/或硬件模块而集成到电子设备60中,换言之,该电子设备60可以包括该应用部署装置50。例如,该应用部署装置50可以是该电子设备60的操作系统中的一个软件模块,或者可以是针对于其所开发的一个应用程序;当然,该应用部署装置50同样可以是该电子设备60的众多硬件模块之一。
在本发明的另一实施例中,该应用部署装置50与该电子设备60也可以是分立的设备(例如,服务器),并且该应用部署装置50可以通过有线和/或无线网络连接到该电子设备60,并且按照约定的数据格式来传输交互信息。
示例性电子设备
图7为本发明的一种电子设备的结构示意图。如图7所示,该电子设备60包括:一个或多个处理器601和存储器602;以及存储在存储器602中的计算机程序指令,计算机程序指令在被处理器601运行时使得处理器601执行如上述任一实施例的应用部署方法。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器602可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行程序指令,以实现上文的本发明的各个实施例的应用部署方法中的步骤以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如光线强度、补偿光强度、滤光片的位置等信息。
在一个示例中,电子设备60还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(图7中未示出)互连。
例如,在该电子设备是如工业生产线上的机器人时,该输入装置603可以是摄像头,用于捕捉待加工零件的位置。在该电子设备是单机设备时,该输入装置603可以是通信网络连接器,用于从外部的可移动设备接收所采集的输入信号。此外,该输入装置603还可以包括例如键盘、鼠标、麦克风等等。
该输出装置604可以向外部输出各种信息,例如可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备60中与本发明有关的组件中的一些,省略了诸如总线、输入装置/输出接口等组件。除此之外,根据具体应用情况,电子设备60还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上述任一实施例的应用部署方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性应用部署方法”部分中描述的根据本发明的各种实施例的应用部署方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器((RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用部署方法,其特征在于,包括:
基于服务器信息列表,批量提取服务器信息,其中,所述服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;
基于应用代码构建应用工程文件;以及
当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的所述服务器信息,在部署工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码,以将所述应用工程文件分别部署到所述多个指定服务器。
2.根据权利要求1所述的方法,其特征在于,所述基于应用代码构建应用工程文件包括:
基于应用代码构建开发工程文件,将所述开发工程文件部署到开发环境下的服务器;
当在所述开发环境下的服务器上测试通过后,将所述开发工程文件部署到测试环境下的服务器;
当在所述测试环境下的服务器上测试通过后,将所述应用代码与预发布环境代码库中的代码合并为第一合并代码,基于所述第一合并代码构建预发布工程文件,将所述预发布工程文件部署到预发布环境下的服务器;
当在所述预发布环境下的服务器上测试通过后,将所述第一合并代码与生产环境代码库中的代码合并为第二合并代码,基于所述第二合并代码构建所述应用工程文件。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
对生产环境下的所述多个指定服务器进行初始化配置。
4.根据权利要求3所述的方法,其特征在于,所述对生产环境下的所述多个指定服务器进行初始化配置包括:
基于所述服务器信息列表,批量提取所述服务器信息,其中,所述服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;以及
根据批量提取的所述服务器信息,在初始化工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码,以分别完成对所述多个指定服务器的环境配置操作。
5.根据权利要求4所述的方法,其特征在于,所述环境配置操作包括以下几项中的一种或多种组合:服务器时间同步、编译语言环境配置、防火墙自动关闭、数据库初始化和远程字典服务集群自动部署。
6.根据权利要求1所述的方法,其特征在于,所述基于服务器信息列表,批量提取服务器信息包括:
基于服务器信息列表,批量提取服务器信息存储在文本文件中;
其中,所述根据批量提取的所述服务器信息,在部署工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码包括:
基于脚本文件调用所述文本文件,以在部署工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码。
7.根据权利要求1所述的方法,其特征在于,所述当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的所述服务器信息,在部署工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码,以将所述应用工程文件分别部署到所述多个指定服务器包括:
将所述多个指定服务器的多个网络地址填入基础包配置文件;以及
基于所述应用部署指令调用所述基础包配置文件,以将所述应用工程文件分别部署到所述多个指定服务器。
8.一种应用部署装置,其特征在于,包括:
服务器信息提取模块,配置为基于服务器信息列表,批量提取服务器信息,其中,所述服务器信息包括与单个服务器对应的用户名、密码和服务器的网络地址信息;
构建模块,配置为基于应用代码构建应用工程文件;以及
部署执行模块,配置为当接收到待部署的多个指定服务器的多个网络地址以及应用部署指令时,根据批量提取的所述服务器信息,在部署工程文件中批量填充与所述多个指定服务器分别对应的所述用户名和所述密码,以将所述应用工程文件分别部署到所述多个指定服务器。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至7中任一项所述的应用部署方法。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1至7中任一项所述的应用部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110199208.0A CN112564989A (zh) | 2021-02-23 | 2021-02-23 | 应用部署方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110199208.0A CN112564989A (zh) | 2021-02-23 | 2021-02-23 | 应用部署方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112564989A true CN112564989A (zh) | 2021-03-26 |
Family
ID=75034567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110199208.0A Pending CN112564989A (zh) | 2021-02-23 | 2021-02-23 | 应用部署方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564989A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301156A (zh) * | 2021-05-24 | 2021-08-24 | 中国农业银行股份有限公司 | 文件的部署方法、装置和电子设备 |
CN113495732A (zh) * | 2021-06-21 | 2021-10-12 | 中国普天信息产业股份有限公司 | 服务器部署方法、装置、设备及可读存储介质 |
CN115065670A (zh) * | 2022-08-17 | 2022-09-16 | 平安银行股份有限公司 | IOS APP自动化发布方法、macOS服务器及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603287A (zh) * | 2016-12-14 | 2017-04-26 | 国云科技股份有限公司 | 一种云平台自动部署节点文件的方法 |
CN109766091A (zh) * | 2018-12-29 | 2019-05-17 | 北京航天云路有限公司 | 一种持续集成的方法和系统 |
-
2021
- 2021-02-23 CN CN202110199208.0A patent/CN112564989A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603287A (zh) * | 2016-12-14 | 2017-04-26 | 国云科技股份有限公司 | 一种云平台自动部署节点文件的方法 |
CN109766091A (zh) * | 2018-12-29 | 2019-05-17 | 北京航天云路有限公司 | 一种持续集成的方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301156A (zh) * | 2021-05-24 | 2021-08-24 | 中国农业银行股份有限公司 | 文件的部署方法、装置和电子设备 |
CN113495732A (zh) * | 2021-06-21 | 2021-10-12 | 中国普天信息产业股份有限公司 | 服务器部署方法、装置、设备及可读存储介质 |
CN115065670A (zh) * | 2022-08-17 | 2022-09-16 | 平安银行股份有限公司 | IOS APP自动化发布方法、macOS服务器及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493449B1 (ko) | 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체 | |
CN112564989A (zh) | 应用部署方法和装置 | |
CN112685035B (zh) | 项目开发方法及装置、计算机可读存储介质、电子设备 | |
US9411711B2 (en) | Adopting an existing automation script to a new framework | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
US11068243B2 (en) | Application stack builder based on node features | |
CN112379969B (zh) | 一种基于容器化应用的持续集成交付方法及相关设备 | |
CN111026439B (zh) | 应用程序的兼容方法、装置、设备及计算机存储介质 | |
CN111752581A (zh) | 一种分布式系统的升级方法、装置和计算机系统 | |
CN113806037A (zh) | 服务的调用方法、装置、存储介质及电子设备 | |
CN113590595A (zh) | 一种数据库多写方法、装置及相关设备 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
US10761823B2 (en) | Imposing a common build system for services from disparate sources | |
CN113468067A (zh) | 应用程序的调试方法、装置、电子设备和计算机可读介质 | |
CN111459506B (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN112558985B (zh) | 子应用部署方法和装置 | |
CN114003257A (zh) | 一种升级方法及装置 | |
CN112685051A (zh) | 自动执行shell脚本的方法、装置、平台及存储介质 | |
CN112367205A (zh) | 一种对http调度请求的处理方法及调度系统 | |
CN111984275A (zh) | 基于cpu架构类型的系统部署方法、系统、终端及存储介质 | |
US20230259347A1 (en) | Container based generation of inputs for generic functions | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN117112075B (zh) | 将定时任务应用自动转换成无服务器函数的方法和系统 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN117032753A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210326 |
|
RJ01 | Rejection of invention patent application after publication |