CN114564226B - 代码部署方法、装置、电子设备及可读存储介质 - Google Patents
代码部署方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114564226B CN114564226B CN202210182158.XA CN202210182158A CN114564226B CN 114564226 B CN114564226 B CN 114564226B CN 202210182158 A CN202210182158 A CN 202210182158A CN 114564226 B CN114564226 B CN 114564226B
- Authority
- CN
- China
- Prior art keywords
- code
- updated
- deployment
- file
- deployed
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- 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
Abstract
本申请公开了代码部署方法、装置、电子设备及可读存储介质,应用于计算机技术领域,所述代码部署方法包括:获取待更新代码并对所述待更新代码进行编译得到可识别代码;将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。本申请解决了现有技术中代码部署的效率低的技术问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种代码部署方法、装置、电子设备及可读存储介质。
背景技术
随着科技的高速发展,计算机技术也发展地越来越成熟,目前,代码部署方法采用专业人员对代码进行部署,但由于人工的能力局限性以及部署过程复杂,导致代码部署的操作失误率高以及更新速度慢,且当需部署的代码较多时,容易出现代码部署过程耗时长但效率低的情况,从而导致代码部署的效率低。
发明内容
本申请的主要目的在于提供一种代码部署方法、装置、电子设备及可读存储介质,旨在解决现有技术中代码部署的效率低的技术问题。
为实现上述目的,本申请提供一种代码部署方法,应用于代码自动化部署设备,所述代码部署方法包括:
获取待更新代码并对所述待更新代码进行编译得到可识别代码;
将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。
可选地,在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后,所述代码部署方法还包括:
获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
若是,则判定所述待更新代码编译成功;
若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤包括:
将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署。
可选地,所述依据所述部署文件获取差异化文件的步骤包括:
依据所述部署文件,在判断到所述待更新代码与所述目标机器已部署的源代码存在差异时,依据所述差异获取所述差异化文件。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述代码部署方法还包括:
对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试;
若是,则判定所述待更新代码部署成功;
若否,则判定所述待更新代码部署失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,在所述依据所述实时代码对应的配置文件,将所述实时代码和配置文件打包生成部署文件的步骤之后,所述代码部署方法还包括:
将待部署所述待更新代码的目标机器从集群中移除。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述代码部署方法还包括:
将已部署所述待更新代码的目标机器加入集群。
为实现上述目的,本申请还提供一种代码自动化部署装置,所述代码自动化部署装置应用于代码自动化部署设备,所述代码自动化部署装置包括:
获取模块,用于获取待更新代码并对所述待更新代码进行编译得到可识别代码;
生成模块,用于将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
部署模块,用于依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。
可选地,在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后,所述获取模块还用于:
获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
若是,则判定所述待更新代码编译成功;
若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤中,所述部署模块还用于:
将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署。
可选地,在所述依据所述部署文件获取差异化文件的步骤中,所述部署模块还用于:
依据所述部署文件,在判断到所述待更新代码与所述目标机器已部署的源代码存在差异时,依据所述差异获取所述差异化文件。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述部署模块还用于:
对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试;
若是,则判定所述待更新代码部署成功;
若否,则判定所述待更新代码部署失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,在所述依据所述实时代码对应的配置文件,将所述实时代码和配置文件打包生成部署文件的步骤之后,所述部署模块还用于:
将待部署所述待更新代码的目标机器从集群中移除。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述部署模块还用于:
将已部署所述待更新代码的目标机器加入集群。
本申请还提供一种电子设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述代码部署方法的程序,所述代码部署方法的程序被处理器执行时可实现如上述的代码部署方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现代码部署方法的程序,所述代码部署方法的程序被处理器执行时实现如上述的代码部署方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的代码部署方法的步骤。
本申请提供了一种代码部署方法、装置、电子设备及可读存储介质,相比于现有技术采用的专业人员对代码进行部署的方法,本申请通过获取待更新代码并对所述待更新代码进行编译得到可识别代码;将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件,通过拷贝差异化文件,无需人工操作,实现了全程通过系统自动化进行代码部署,避免了当采用专业人员对代码进行部署的方法时,容易出现部署过程耗时长但效率低情况的技术缺陷,从而提升了代码部署的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请代码部署方法第一实施例的流程示意图;
图2为本申请代码部署方法第二实施例的流程示意图;
图3为本申请实施例中代码部署方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
本申请实施例提供一种代码部署方法,在本申请代码部署方法的第一实施例中,参照图1,所述代码部署方法包括:
步骤S10,获取待更新代码并对所述待更新代码进行编译得到可识别代码;
示例性地,步骤S10包括:通过代码获取工具获取待更新代码,并将所述待更新代码输入至汇编器进行汇编,将所述待更新代码转换为二进制代码以得到可识别代码,其中,所述代码获取工具可以为Git(一个开源的分布式版本控制系统),还可以为SVN(一个开放源代码的版本控制系统)。
其中,在步骤S10中,在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后包括:
步骤A10,获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
步骤A20,若是,则判定所述待更新代码编译成功;
步骤A30,若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
在本实施例中,需要说明的是,所述配置文件包括在待部署所述待更新代码的目标机器中,所述待更新代码对应的目录、保存路径以及地址。
示例性地,步骤A10至步骤A30包括:获取所述待更新代码对应的配置文件,并读取所述配置文件中所述待更新代码对应的目录、保存路径以及地址,判断所述目录、保存路径以及地址是否正确;若所述目录、保存路径以及地址正确,则判定所述待更新代码编译成功;若所述目录、保存路径或地址不正确,则判定所述待更新代码编译失败,并返回执行所述通过代码获取工具获取待更新代码,并将所述待更新代码输入至汇编器进行汇编,将所述待更新代码转换为二进制代码以得到可识别代码的步骤,其中,所述地址可以为Git地址,还可以为SVN地址,当代码获取工具为Git时,所述地址为Git地址;当代码获取工具为SVN时,所述地址为SVN地址。
步骤S20,将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
在本实施例中,需要说明的是,所述部署文件为所述待更新的代码对应的配置文件以及所述待更新代码对应的可识别代码。
步骤S30,依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。
示例性地,步骤S30包括:依据所述部署文件,获取待更新代码与已部署的源代码之间的差异文件,并通过数据备份工具将所述差异文件拷贝至所述待更新代码对应的目录,以完成所述待更新代码的部署,其中,所述数据备份工具可以为rsync(Unix系统下的数据镜像备份工具),还可以为FolderClone(数据备份工具)。
其中,在步骤S30中,所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤包括:
步骤S31,将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
示例性地,步骤S31包括:通过查询所述部署文件中的配置文件,获取所述待更新代码对应的路径和对应的目录,在所述待更新代码对应的路径下,将所述部署文件导入至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述待更新代码对应的目录。
步骤S32,依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署。
示例性地,步骤S32包括:通过查询所述部署文件,获取待更新代码对应的可识别代码以及所述待更新代码对应的地址;获取所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码之间的差异化文件,并拷贝所述差异化文件;依据所述待更新代码对应的地址,对所述待更新代码进行分项目部署,例如,A项目部署第一地址,B项目部署第二地址,C项目部署第三地址等。
其中,在步骤S32中,所述依据所述部署文件获取差异化文件的步骤包括:
步骤B10,依据所述部署文件,在判断到所述待更新代码与所述目标机器已部署的源代码存在差异时,依据所述差异获取所述差异化文件。
示例性地,步骤B10包括:通过查询所述部署文件,获取待更新代码对应的可识别代码,判断所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码是否存在差异,若所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码存在差异,则依据所述差异获取所述差异化文件;若所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码不存在差异,即所述待更新代码与所述代码一致,则说明所述目标机器已部署完成。
其中,在步骤S30中,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,还包括:
步骤C10,对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试;
步骤C20,若是,则判定所述待更新代码部署成功;
步骤C30,若否,则判定所述待更新代码部署失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
在本实施例中,需要说明的是,所述自动化测试为在预设条件下运行程序或系统,由机器评估运行结果。
示例性地,步骤C10至步骤C30包括:对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试,其中,所述自动化测试的内容可以为功能自动化测试、性能自动化测试、兼容性自动化测试、安全自动化测试等,若所述目标机器通过所述自动化测试,则判定所述待更新代码部署成功;若所述目标机器不通过所述自动化测试,则判定所述待更新代码部署失败,并返回执行所述通过代码获取工具获取待更新代码,并将所述待更新代码输入至汇编器进行汇编,将所述待更新代码转换为二进制代码以得到可识别代码的步骤。
本申请实施例提供了一种代码部署方法,相比于现有技术采用的专业人员对代码进行部署的方法,本申请实施例通过获取待更新代码并对所述待更新代码进行编译得到可识别代码;将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件,通过拷贝差异化文件,无需人工操作,实现了全程通过系统自动化进行代码部署,避免了当采用专业人员对代码进行部署的方法时,容易出现部署过程耗时长但效率低情况的技术缺陷,从而提升了代码部署的效率。
实施例二
进一步地,参照图2,基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,在步骤S20,在所述依据所述实时代码对应的配置文件,将所述实时代码和配置文件打包生成部署文件的步骤之后,还包括:
步骤D10,将待部署所述待更新代码的目标机器从集群中移除。
在本实施例中,需要说明的是,所述集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
示例性地,步骤D10包括:判断待部署所述待更新代码的目标机器是否存在槽;若待部署所述待更新代码的目标机器存在槽,则打开管理主机,删除所述目标机器占用的槽;若待部署所述待更新代码的目标机器不存在槽,则直接将目标机器从集群中移除,进一步地,将目标机器从集群中移除的步骤包括:在所述管理主机中查询集群信息中是否存在所述目标机器,若所述集群信息中存在所述目标机器,则将所述目标机器从集群中移除;若所述集群信息中不存在所述目标机器,则判定所述目标机器已从集群中移除。
其中,在步骤D10中,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,还包括:
步骤E10,将已部署所述待更新代码的目标机器加入集群。
示例性地,步骤E10包括:打开管理主机,将已部署所述待更新代码的目标机器加入集群,在所述管理主机中查询集群信息中是否存在所述目标机器,若集群信息中存在所述目标机器,则判定所述目标机器已加入集群;若集群信息中不存在所述目标机器,则将目标机器加入集群。
本申请实施例提供了一种代码部署方法,相比于现有技术采用的专业人员对代码进行部署的方法,本申请实施例通过获取待更新代码并对所述待更新代码进行编译得到可识别代码;将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件,通过拷贝差异化文件,无需人工操作,实现了全程通过系统自动化进行代码部署,避免了当采用专业人员对代码进行部署的方法时,容易出现部署过程耗时长但效率低情况的技术缺陷,从而提升了代码部署的效率。
实施例三
本申请实施例还提供一种代码自动化部署装置,所述代码自动化部署装置应用于代码自动化部署设备,所述代码自动化部署装置包括:
获取模块,用于获取待更新代码并对所述待更新代码进行编译得到可识别代码;
生成模块,用于将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
部署模块,用于依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。
可选地,在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后,所述获取模块还用于:
获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
若是,则判定所述待更新代码编译成功;
若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤中,所述部署模块还用于:
将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署。
可选地,在所述依据所述部署文件获取差异化文件的步骤中,所述部署模块还用于:
依据所述部署文件,在判断到所述待更新代码与所述目标机器已部署的源代码存在差异时,依据所述差异获取所述差异化文件。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述部署模块还用于:
对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试;
若是,则判定所述待更新代码部署成功;
若否,则判定所述待更新代码部署失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
可选地,在所述依据所述实时代码对应的配置文件,将所述实时代码和配置文件打包生成部署文件的步骤之后,所述部署模块还用于:
将待部署所述待更新代码的目标机器从集群中移除。
可选地,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述部署模块还用于:
将已部署所述待更新代码的目标机器加入集群。
本发明提供的代码自动化部署装置,采用上述实施例中的代码部署方法,解决了代码部署的效率低的技术问题。与现有技术相比,本发明实施例提供的代码自动化部署装置的有益效果与上述实施例提供的代码部署方法的有益效果相同,且该代码自动化部署装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
实施例四
本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的代码部署方法。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本发明提供的电子设备,采用上述实施例一或实施例二中的代码部署方法,解决了代码部署的效率低的技术问题。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例一提供的代码部署方法的有益效果相同,且该电子设备中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
实施例五
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的代码自动化部署的方法。
本发明实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取待更新代码并对所述待更新代码进行编译得到可识别代码;将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的计算机可读存储介质,存储有用于执行上述代码部署方法的计算机可读程序指令,解决了代码部署的效率低的技术问题。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施提供的代码部署方法的有益效果相同,在此不做赘述。
实施例六
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的代码部署方法的步骤。
本申请提供的计算机程序产品解决了代码部署的效率低的技术问题。与现有技术相比,本发明实施例提供的计算机程序产品的有益效果与上述实施例提供的代码部署方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (7)
1.一种代码部署方法,其特征在于,所述代码部署方法包括:
获取待更新代码并对所述待更新代码进行编译得到可识别代码;
将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件;
在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后,所述代码部署方法还包括:
获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
若是,则判定所述待更新代码编译成功;
若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤;
所述获取所述待更新代码对应的配置文件,判断所述配置文件是否正确的步骤包括:
获取所述待更新代码对应的配置文件,并读取所述配置文件中所述待更新代码对应的目录、保存路径以及地址,判断所述目录、保存路径以及地址是否正确;
若所述目录、保存路径以及地址正确,则判定所述待更新代码编译成功;
若所述目录、保存路径或地址不正确,则判定所述待更新代码编译失败;
所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤包括:
将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署;
所述依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署的步骤包括:
通过查询所述部署文件,获取待更新代码对应的可识别代码以及所述待更新代码对应的地址;
获取所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码之间的差异化文件,并拷贝所述差异化文件;
依据所述待更新代码对应的地址,对所述待更新代码进行分项目部署。
2.如权利要求1所述代码部署方法,其特征在于,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述代码部署方法还包括:
对已经部署所述待更新代码的目标机器进行自动化测试,并判断所述目标机器是否通过所述自动化测试;
若是,则判定所述待更新代码部署成功;
若否,则判定所述待更新代码部署失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤。
3.如权利要求1所述代码部署方法,其特征在于,在所述将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件的步骤之后,所述代码部署方法还包括:
将待部署所述待更新代码的目标机器从集群中移除。
4.如权利要求3所述代码部署方法,其特征在于,在所述依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署的步骤之后,所述代码部署方法还包括:
将已部署所述待更新代码的目标机器加入集群。
5.一种代码自动化部署装置,其特征在于,所述代码自动化部署装置包括:
获取模块,用于获取待更新代码并对所述待更新代码进行编译得到可识别代码;
生成模块,用于将所述可识别代码和所述待更新代码对应的配置文件进行打包以生成部署文件;
部署模块,用于依据所述部署文件拷贝差异化文件至对应目录以完成所述待更新代码的部署,其中,所述差异化文件为待更新代码与已部署的源代码之间的差异文件;
在所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤之后,所述代码自动化部署装置还包括:
获取所述待更新代码对应的配置文件,判断所述配置文件是否正确;
若是,则判定所述待更新代码编译成功;
若否,则判定所述待更新代码编译失败,并返回执行所述获取待更新代码并对所述待更新代码进行编译得到可识别代码的步骤;
所述代码自动化部署装置还包括:
获取所述待更新代码对应的配置文件,并读取所述配置文件中所述待更新代码对应的目录、保存路径以及地址,判断所述目录、保存路径以及地址是否正确;
若所述目录、保存路径以及地址正确,则判定所述待更新代码编译成功;
若所述目录、保存路径或地址不正确,则判定所述待更新代码编译失败;
所述部署模块还用于:
将所述部署文件上传至待部署所述待更新代码的目标机器,并将所述部署文件解压至所述目标机器中所述待更新代码对应的目录;
依据所述部署文件获取差异化文件并拷贝所述差异化文件,依据所述差异化文件对应的地址分别进行所述待更新代码的部署;
所述部署模块还用于:
通过查询所述部署文件,获取待更新代码对应的可识别代码以及所述待更新代码对应的地址;
获取所述可识别代码与待部署所述待更新代码的目标机器中已部署的源代码之间的差异化文件,并拷贝所述差异化文件;
依据所述待更新代码对应的地址,对所述待更新代码进行分项目部署。
6.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至4中任一项所述的代码部署方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现代码部署方法的程序,所述实现代码部署方法的程序被处理器执行以实现如权利要求1至4中任一项所述代码部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182158.XA CN114564226B (zh) | 2022-02-25 | 2022-02-25 | 代码部署方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182158.XA CN114564226B (zh) | 2022-02-25 | 2022-02-25 | 代码部署方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114564226A CN114564226A (zh) | 2022-05-31 |
CN114564226B true CN114564226B (zh) | 2023-03-17 |
Family
ID=81716363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210182158.XA Active CN114564226B (zh) | 2022-02-25 | 2022-02-25 | 代码部署方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564226B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078265A (zh) * | 2019-11-28 | 2020-04-28 | 上海三零卫士信息安全有限公司 | 一种基于jenkins的web项目更新补丁生成方法 |
CN112612502A (zh) * | 2020-12-23 | 2021-04-06 | 苏州三六零智能安全科技有限公司 | 补丁生成方法、装置、设备及存储介质 |
CN113760237A (zh) * | 2021-10-22 | 2021-12-07 | 深圳市元征科技股份有限公司 | 编译地址的更新方法、装置、终端设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595200B (zh) * | 2018-04-19 | 2020-05-15 | 北京微播视界科技有限公司 | 代码更新方法、图形更新方法、装置、存储介质和终端 |
US10908892B2 (en) * | 2019-03-12 | 2021-02-02 | International Business Machines Corporation | Generating and deploying object code files compiled on build machines |
CN113326059B (zh) * | 2020-02-28 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN112764753B (zh) * | 2020-12-31 | 2024-04-12 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN113703721A (zh) * | 2021-08-31 | 2021-11-26 | 合众人寿保险股份有限公司 | 一种软件自动化增量交付方法及装置 |
-
2022
- 2022-02-25 CN CN202210182158.XA patent/CN114564226B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078265A (zh) * | 2019-11-28 | 2020-04-28 | 上海三零卫士信息安全有限公司 | 一种基于jenkins的web项目更新补丁生成方法 |
CN112612502A (zh) * | 2020-12-23 | 2021-04-06 | 苏州三六零智能安全科技有限公司 | 补丁生成方法、装置、设备及存储介质 |
CN113760237A (zh) * | 2021-10-22 | 2021-12-07 | 深圳市元征科技股份有限公司 | 编译地址的更新方法、装置、终端设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114564226A (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112965761B (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
WO2014056371A1 (en) | Method and apparatus for determining range of files to be migrated | |
US20220334815A1 (en) | Accelerating application and sub-package installations | |
CN111309228A (zh) | 多媒体处理方法、装置及电子设备 | |
CN111428165A (zh) | 三维模型的展示方法、装置及电子设备 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN110489162B (zh) | 安装包so文件精简方法、装置、介质和设备 | |
CN114564226B (zh) | 代码部署方法、装置、电子设备及可读存储介质 | |
CN108667902B (zh) | iOS设备的远程控制系统、方法、装置及设备 | |
CN114968644A (zh) | 系统软件转储方法、装置、电子设备及可读存储介质 | |
CN114924830A (zh) | 基于nas存储的在线ide代码管理方法及相关设备 | |
CN114780134A (zh) | 微应用的配置管理方法及相关设备 | |
CN109976728A (zh) | 一种原生应用程序的生成方法、装置、移动终端 | |
CN115857937A (zh) | 增量编译方法、系统、电子设备及存储介质 | |
CN115658276B (zh) | 业务开发方法、装置、电子设备及可读存储介质 | |
CN113835791B (zh) | 呈现视图组件的层级关系的方法和装置 | |
CN115658374B (zh) | 平台兼容性问题修复方法、装置、电子设备及存储介质 | |
CN113127054B (zh) | 一种文件处理方法和相关装置 | |
CN113704020B (zh) | 固态硬盘的出错现场数据的解析方法以及装置 | |
CN113127259B (zh) | 数据部署方法、装置、设备及存储介质 | |
CN115129315A (zh) | 定制化页面的开发方法、装置、电子设备及可读存储介质 | |
CN117573178A (zh) | 机器人固件更新方法、设备及可读存储介质 | |
CN116931978A (zh) | 升级操作执行方法、装置、电子设备和计算机可读介质 | |
CN111625232A (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 |