[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115543429A - 项目环境的搭建方法、电子设备及计算机可读存储介质 - Google Patents

项目环境的搭建方法、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115543429A
CN115543429A CN202211353716.0A CN202211353716A CN115543429A CN 115543429 A CN115543429 A CN 115543429A CN 202211353716 A CN202211353716 A CN 202211353716A CN 115543429 A CN115543429 A CN 115543429A
Authority
CN
China
Prior art keywords
dependency
project
package
dependency package
environment
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
CN202211353716.0A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211353716.0A priority Critical patent/CN115543429A/zh
Publication of CN115543429A publication Critical patent/CN115543429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本申请公开了一种项目环境的搭建方法、电子设备及计算机可读存储介质,该方法包括:响应于对项目的环境运行命令,判断是否存在项目对应的目标系统版本;当判断出存在目标系统版本时,获取项目对应的依赖配置文件以判断项目是否安装有依赖包;当判断为安装有依赖包时,获取项目对应的依赖包管理文件,以根据依赖配置文件与依赖包管理文件判断依赖包是否有更新;当判断为依赖包有更新时,判断更新的依赖包的个数是否超过预设阈值;若未超过预设阈值,则下载增量依赖包进行安装;安装增量依赖包后,响应于启动命令,运行搭建好的项目环境,以启动项目开发服务。上述方案,能够在进行项目环境搭建时,提高效率。

Description

项目环境的搭建方法、电子设备及计算机可读存储介质
技术领域
本申请涉及软件开发技术领域,特别是涉及一种项目环境的搭建方法、电子设备及计算机可读存储介质。
背景技术
现代前端开发中不可缺少的是开发环境的搭建,其中项目依赖包管理作为开发环境搭建的重要环节,衍生了多种管理的方案。目前市面主要通过NPM(Node PackageManager,NodeJS包管理和分发工具)、yarn资源管理系统等方案来管理本地开发环境的依赖包。
以NPM为例,安装项目依赖,搭建开发环境,需要在每个项目中保留依赖包,每个依赖包模块又会递层依赖不同的模块。虽然NPM设计了版本管理的策略(SemVer)。但依然存在一些不可控的情况,例如:若开发的依赖包更新版本过多,在更新时容易出错,从而降低了开发效率。并且在依赖包进行更新时,需要主动去获取变更内容,每次更新时都需要重复执行npm install命令对依赖包进行安装,加大了对同步更新的操作难度,也增加了同步失败的风险。
发明内容
本申请至少提供一种项目环境的搭建方法、电子设备及计算机可读存储介质,用于解决相关技术中,依赖包更新效率低的问题。
本申请第一方面提供了一种项目环境的搭建方法,包括:
响应于对项目的环境运行命令,判断是否存在所述项目对应的目标系统版本;
当判断出存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包;所述依赖配置文件包括所述项目安装的依赖包信息;所述依赖包中包括所述项目环境的配置信息;
当判断为安装有所述依赖包时,获取所述项目对应的依赖包管理文件,以根据所述依赖配置文件与所述依赖包管理文件判断所述依赖包是否有更新;所述依赖包管理文件中包括开发的依赖包信息;
当判断为所述依赖包有更新时,判断更新的依赖包的个数是否超过预设阈值;
若未超过预设阈值,则下载更新的依赖包对应的增量依赖包进行安装;
安装所述增量依赖包后,响应于启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
其中,所述当判断出不存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包之后,所述方法包括:
若判断为未安装所述依赖包时,则下载所述依赖包对应的全量依赖包进行安装;
安装好所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
其中,则下载所述依赖包对应的全量依赖包进行安装之后,所述方法还包括:
若超过预设阈值,则下载项目所述全量依赖包;
安装所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
其中,响应于对项目的环境运行命令,判断是否存在所述项目对应的目标系统版本,包括:
响应于所述环境运行指令,查询所述项目的系统版本信息;
判断所述系统版本信息是否为所述项目对应的目标系统版本。
其中,所述当判断出存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包,包括:
当判断为是所述目标系统版本时,则查询所述项目对应的依赖配置文件;
根据所述依赖配置文件中是否存在对应的依赖包信息判断是否是安装有所述依赖包;
所述当判断为安装有所述依赖包时,获取依赖包管理文件,以根据所述依赖配置文件与所述依赖包管理文件判断所述依赖包是否有更新,包括:
当查询到所述依赖配置文件时,获取依赖包管理文件;
根据所述依赖包管理文件的依赖包信息与所述依赖配置文件的依赖包信息之间的比对结果,判断所述依赖包是否有更新。
其中,所述当判断为安装有所述依赖包时,判断所述依赖包是否有更新之后,所述方法还包括:
若对比结果一致,则不需要下载所述依赖包,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
其中,安装所述增量依赖包后,响应于运行命令,运行搭建好的所述项目环境,以启动项目开发服务之前,所述方法还包括:
对所述增量依赖包进行解压,并根据解压后的代码搭建所述项目环境;
判断所述项目环境是否搭建完成;
若所述项目环境搭建完成,执行所述启动命令。
其中,所述方法还包括:
在版本管理平台上创建依赖包项目;所述依赖包项目包括所述环境搭建的代码;
所述版本管理平台将所述代码提交至版本管理服务器,以使所述版本管理服务器根据所述代码启动自动化依赖包生成任务,得到多个依赖包及对应的依赖包管理文件。
本申请第二方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的项目环境的搭建方法。
本申请第三方面提供了一种非易失性计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的项目环境的搭建方法。
上述方案,在安装有正确的目标系统版本的前提下,进行依赖包的安装,通过依赖配置文件与依赖包管理文件进行比对,以对依赖包进行更新,无需重复执行npm install命令对依赖包进行安装;并且,通过预设阈值对更新的依赖包的个数进行控制,可以有效防止多个依赖包进行下载时造成依赖包更新出错。依赖包中包括了项目环境的配置信息,省略了项目前期的环境准备,提高了项目环境搭建的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请项目环境的搭建方法一实施例的流程示意图;
图2是本申请电子设备一实施例的框架示意图;
图3是本申请非易失性计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或者请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理个人信息种类等信息。
以NPM为例,安装项目依赖,搭建开发环境,需要在每个项目中保留依赖包,每个依赖包模块又会递层依赖不同的模块。虽然NPM设计了版本管理的策略(SemVer)。但依然存在一些不可控的情况,例如:大多数开发的依赖包用“pkg:^1.0.0”版本来兼容该模块的后续版本,“^1.0.0”取值范围(1.0.0<2.0.0);若开发的依赖包更新了版本1.1.0并该更新的依赖包涉及破坏性更新。例如更新版本过多;在后续开发使用时存在潜在风险,导致开发出错,降低了开发效率。
在依赖包进行更新时,需要主动去获取变更内容。例如,此时依赖包pkg从1.0.0更新到2.0.0,需要手动更新项目的依赖包版本为pkg:^2.0.0才能同步更新。因为每个使用该依赖包的项目都需要手动去同步更新,加大了对同步更新的操作难度,也增加了同步失败的风险。
请参阅图1,图1是本申请实施例的项目环境的搭建方法的流程示意图。具体而言,可以包括如下步骤:
步骤S11:响应于对项目的环境运行命令,判断是否存在所述项目对应的目标系统版本。
本实施例中,通过对@pa/runner工具执行环境运行命令进行项目环境的搭建,搭建的项目环境为项目开发环境,环境运行命令为npx@pa/runner dev。在第一次进入开发环境时,通过@pa/runner工具自动检测是否有开发环境,若检测出:项目对应的目标系统版本,即node版本正确、cli命令行存在,有开发环境,cli命令行用于对依赖包进行处理,cli命令行存在说明有安装依赖包。若检测到开发环境存在,则执行dev命令;若检测到开发环境不存在,可能是没有安装依赖包,则判断是否存在项目开发对应的目标系统版本,目标系统版本为node版本,若node版本不正确,则不安装依赖包。
@pa/runner工具是快捷脚本命令行工具,用于依赖包下载和项目环境监测,无需安装、全原生写的、没有依赖,还可以高效的执行。
步骤S12:当判断出存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包;所述依赖配置文件包括所述项目安装的依赖包信息;所述依赖包中包括所述项目环境的配置信息。
本实施例中,当检查到存在目标系统版本时,判断该目标系统版本上是否安装有对应的依赖包,根据目标系统版本对应的系统的项目的目录下是否有依赖包的配置文件。若有依赖配置文件,则说明安装有依赖包;若没有依赖配置文件,则说明还未安装过依赖包,是第一次安装依赖包。依赖包中包括所述项目环境的配置信息。
步骤S12的判断结果之一为:步骤S13:当判断为安装有所述依赖包时,获取所述项目对应的依赖包管理文件,以根据所述依赖配置文件与所述依赖包管理文件判断所述依赖包是否有更新;所述依赖包管理文件中包括开发的依赖包信息。
本实施例中,在安装有依赖包时,判断依赖包是否有更新,可以根据项目的目录下的依赖配置文件与存储依赖包的工具下的依赖管理文件对比查看是否有依赖包的版本号,以此判断依赖包是否有更新。依赖包中包括有开发环境的依赖和基础工具脚手架相关的数据,根据依赖包中的数据可以进行开发环境的搭建。
在示例性地实施例中,步骤S12的判断结果之二为:
若判断为未安装所述依赖包时,则下载全量依赖包;安装所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
本实施例中,当判断未下载过依赖包时,则下载全量依赖包,全量依赖包可以理解为默认依赖包,缺省的补丁包。在全量依赖包下载好之后,进行解压安装,进而再判断全量依赖包是否安装好。当全量依赖包安装好之后,需要判断增量依赖包是否安装好,表示项目的开发环境已经搭建完成。再基于启动命令运行开发环境,以启动项目开发服务。启动命令为dev命令,运行下载好的依赖包内的dev命令,以启动项目开发服务。
步骤S13的判断结果之一为:步骤S14:当判断为所述依赖包有更新时,判断更新的依赖包的个数是否超过预设阈值。
本实施例中,为了当值依赖包的版本过多,在进行同步更新时出现问题,设置了依赖包更新个数的上限,即预设阈值。本申请预设阈值设置为5。
在示例性地实施例中,步骤S13的判断结果之二,所述方法还包括:
若对比结果一致,则不需要下载所述依赖包,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
本实施例中,当查询到安装有项目开发对应的系统及依赖包时,说明项目对应的开发环境已经安装完成,不需要再进行更新和下载。即可通过启动命令dev运行项目开发对应的项目环境,从而进行项目开发工作。
步骤S14的判断结果之一为:步骤S15:若未超过预设阈值,则下载更新的依赖包对应的增量依赖包进行安装。
本实施例中,若依赖包需要更新的个数在5个以内,则下载全部的增量依赖包进行更新。下载增量依赖包后对其进行解压安装处理,增量依赖包可以是对原有的依赖包进行删除、修改处理。
在示例性地实施例中,步骤S14的判断结果之二为:
若超过预设阈值,则下载项目所述全量依赖包进行安装;安装好所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
本实施例中,当增量更新包的个数超过预设阈值时,下载全量依赖包进行依赖包的安装,全量依赖包可以对依赖包进行新增的操作。
步骤S16:安装所述增量依赖包后,响应于启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
本实施例中,在安装增量依赖包后,需要判断增量依赖包是否安装好,表示项目的开发环境已经搭建完成。再基于启动命令运行开发环境,以启动项目开发服务。启动命令为dev命令,运行下载好的依赖包内的dev命令,以启动项目开发服务。
本实施例在安装有正确的目标系统版本的前提下,进行依赖包的安装,通过依赖配置文件与依赖包管理文件进行比对,以对依赖包进行更新,无需重复执行npm install命令对依赖包进行安装;在有更新需要同步时,通过信息比对自动更新下载安装依赖包,可以做到无感知同步更新,大大缩短开发者介入开发的时间;并且,通过预设阈值对更新的依赖包的个数进行控制,可以有效防止多个依赖包进行下载时造成依赖包更新出错。依赖包中包括了项目环境的配置信息,省略了项目前期的环境准备,提高了项目环境搭建的效率。
在示例性地实施例中,步骤S11包括:
响应于所述环境运行指令,查询所述项目的系统版本信息;判断所述系统版本信息是否为所述项目对应的目标系统版本。
本实施例中,若当前的系统版本是项目开发时所需的系统版本,则下载依赖包进行项目环境的搭建,若不是,则不进行项目环境的搭建。
在示例性地实施例中,所述步骤S12包括:
当判断为是所述目标系统版本时,则查询所述项目对应的依赖配置文件;根据所述依赖配置文件中是否存在对应的依赖包信息判断是否是安装有所述依赖包。
步骤S13包括:当查询到所述依赖配置文件时,获取依赖包管理文件;根据所述依赖包管理文件的依赖包信息与所述依赖配置文件的依赖包信息之间的比对结果,判断所述依赖包是否有更新。
本实施例中,依赖配置文件中存储有项目对应安装的依赖包信息,查询依赖配置文件中是否下载有依赖包。依赖包管理文件为开发项目对应的依赖包时,对开发的依赖包进行记录的文件,依赖包开发完成后不一定会进行安装。将依赖包管理文件中开发的依赖包信息与依赖配置文件中已经下载安装好的依赖包信息进行比对。具体地,从依赖包管理文件中获取最新的五个版本的依赖包进行对比。依赖包管理文件及相应的依赖包存储于gitlab服务器内。
在示例性地实施例中,步骤S14之前,所述方法还包括:
对所述增量依赖包进行解压,并根据解压后的代码搭建所述项目环境;判断所述项目环境是否搭建完成;若所述项目环境搭建完成,执行所述启动命令。
本实施例中,在安装增量依赖包时,对下载的更新的增量依赖包进行解压处理,解压完成后进行安装运行,以搭建项目环境。在解压增量依赖包时,先执行删除列表操作。具体地,通过判断依赖包管理文件中的依赖包的MD5列表与依赖配置文件中的MD5列表进行比对,确定是否安装完成。MD5(Message-Digest Algorithm,密码散列函数),可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
在示例性地实施例中,所述方法还包括:
在版本管理平台上创建依赖包项目;所述依赖包项目包括所述环境搭建的代码;所述版本管理平台将所述代码提交至版本管理服务器,以使所述版本管理服务器根据所述代码启动自动化依赖包生成任务,得到多个依赖包及对应的依赖包管理文件。
本实施例示例性地描述了依赖包的开发管理,预先设置依赖包管理项目,通过“npm@pa/owl-app my-runner-packages--template owl-runner”命令快速创建一个依赖包项目模板。该依赖包项目模板包括触发Gitlab CI服务器执行对应的流水线任务的脚本“.gitlabci.yml”和版本号生成相关的脚本,自动化依赖包生成任务即为流水线任务。依据不同项目组,分组管理、添加、安装对应的依赖。管理依赖通过git管理仓库进行管理,并使用依赖包项目模板中的脚本生成对应的版本号与tag,tag为依赖包对应的快照,用于数据回滚。
当依赖包进行更新时,将依赖包对应的更新内容以及依赖包的开发代码推送至gitlab服务器,gitlab服务器根据更新内容对依赖包进行自动化更新。更新内容包括bug修改、配置升级、规则引擎升级、全局插件列表更新等。gitlab ci工具是集成在gitlab服务器里的持续集成环境,配置gitlab ci工具后,当开发推送代码到gitlab服务器,就会触发配置的gitlab ci工具,触发器规则预先设置。最终通过配置的规则,执行流水线任务,生成依赖包,将最近两次提交的更新内容进行git diff对比,以生成不同版本的依赖包后续打包,更新内容对应有删除文件列表等操作。
自动化依赖包生成任务通过gitlab ci流水线进行,通常是步骤1~步骤n串联的模式,逐个完成。例如:下载git仓库->比对分支->生成更新包等流程。通过git diff算法两次提交生成更新包和删除文件列表。git diff算法为内容对比算法,可以对比版本之间的内容,找出增删改的内容,得到更新依赖包,两次提交为信息对比。通过git diff算法对比生成的依赖包,根据本次提交的内容分支,与上次的内容分支进行比对。比对出增加、修改和删除的文件。记录删除文件、增加和修改文件作为增量内容。最后的量依赖包中可以包括增量文件、删除文件列表和全量文件MD5列表中的一种。
本实施例在根据git仓库对依赖包做到统一管理、统一维护。在开发环境使用时,通过gitlab ci工具对依赖包进行流水线开发,结合@pa/runner工具一键集成自动同步更新程序,无需频繁执行npm install命令安装依赖。通过git仓库管理项目依赖包,对相同类型项目构建相同的依赖包,无需重复开发依赖包。并且还能锁定项目的依赖,借助git仓库的版本管理,对依赖包的更新内容进行比对,可以做到依赖行级别的增量更新。从而在需要更新依赖时,通过增量可以快速更新,大大降低以往手动同步需要的时间和风险。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图2,图2是本申请电子设备20一实施例的框架示意图。电子设备20包括相互耦接的存储器21和处理器22,处理器22用于执行存储器21中存储的程序指令,以实现上述任一项目环境的搭建方法实施例中的步骤。在一个具体的实施场景中,电子设备20可以包括但不限于:微型计算机、服务器,此外,电子设备20还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器22用于控制其自身以及存储器21以实现上述任一项目环境的搭建方法实施例中的步骤。处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由集成电路芯片共同实现。
请参阅图3,图3为本申请非易失性计算机可读存储介质30一实施例的框架示意图。非易失性计算机可读存储介质30存储有能够被处理器运行的程序指令301,程序指令301用于实现上述任一项目环境的搭建方法实施例中的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种项目环境的搭建方法,其特征在于,包括:
响应于对项目的环境运行命令,判断是否存在所述项目对应的目标系统版本;
当判断出存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包;所述依赖配置文件包括所述项目安装的依赖包信息;所述依赖包中包括所述项目环境的配置信息;
当判断为安装有所述依赖包时,获取所述项目对应的依赖包管理文件,以根据所述依赖配置文件与所述依赖包管理文件判断所述依赖包是否有更新;所述依赖包管理文件中包括开发的依赖包信息;
当判断为所述依赖包有更新时,判断更新的依赖包的个数是否超过预设阈值;
若未超过预设阈值,则下载更新的依赖包对应的增量依赖包进行安装;
安装所述增量依赖包后,响应于启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
2.根据权利要求1所述的方法,其特征在于,所述当判断出不存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包之后,所述方法包括:
若判断为未安装所述依赖包时,则下载所述依赖包对应的全量依赖包进行安装;
安装好所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
3.根据权利要求2所述的方法,其特征在于,判断更新的依赖包的个数是否超过预设阈值之后,所述方法还包括:
若超过预设阈值,则下载项目所述全量依赖包;
安装所述全量依赖包后,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
4.根据权利要求1所述的方法,其特征在于,响应于对项目的环境运行命令,判断是否存在所述项目对应的目标系统版本,包括:
响应于所述环境运行指令,查询所述项目的系统版本信息;
判断所述系统版本信息是否为所述项目对应的目标系统版本。
5.根据权利要求4所述的方法,其特征在于,所述当判断出存在所述目标系统版本时,获取所述项目对应的依赖配置文件以判断项目是否安装有依赖包,包括:
当判断为是所述目标系统版本时,则查询所述项目对应的依赖配置文件;
根据所述依赖配置文件中是否存在对应的依赖包信息判断是否是安装有所述依赖包;
所述当判断为安装有所述依赖包时,获取依赖包管理文件,以根据所述依赖配置文件与所述依赖包管理文件判断所述依赖包是否有更新,包括:
当查询到所述依赖配置文件时,获取依赖包管理文件;
根据所述依赖包管理文件的依赖包信息与所述依赖配置文件的依赖包信息之间的比对结果,判断所述依赖包是否有更新。
6.根据权利要求5所述的方法,其特征在于,所述当判断为安装有所述依赖包时,判断所述依赖包是否有更新之后,所述方法还包括:
若对比结果一致,则不需要下载所述依赖包,响应于所述启动命令,运行搭建好的所述项目环境,以启动项目开发服务。
7.根据权利要求1所述的方法,其特征在于,安装所述增量依赖包后,响应于运行命令,运行搭建好的所述项目环境,以启动项目开发服务之前,所述方法还包括:
对所述增量依赖包进行解压,并根据解压后的代码搭建所述项目环境;
判断所述项目环境是否搭建完成;
若所述项目环境搭建完成,执行所述启动命令。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在版本管理平台上创建依赖包项目;所述依赖包项目包括所述环境搭建的代码;
所述版本管理平台将所述代码提交至版本管理服务器,以使所述版本管理服务器根据所述代码启动自动化依赖包生成任务,得到多个依赖包及对应的依赖包管理文件。
9.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至8任一项所述的项目环境的搭建方法。
10.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至8任一项所述的项目环境的搭建方法。
CN202211353716.0A 2022-10-31 2022-10-31 项目环境的搭建方法、电子设备及计算机可读存储介质 Pending CN115543429A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211353716.0A CN115543429A (zh) 2022-10-31 2022-10-31 项目环境的搭建方法、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211353716.0A CN115543429A (zh) 2022-10-31 2022-10-31 项目环境的搭建方法、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115543429A true CN115543429A (zh) 2022-12-30

Family

ID=84718795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211353716.0A Pending CN115543429A (zh) 2022-10-31 2022-10-31 项目环境的搭建方法、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115543429A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028108A (zh) * 2023-03-31 2023-04-28 深圳复临科技有限公司 一种依赖包安装用时分析方法、装置、设备及存储介质
CN117289965A (zh) * 2023-09-05 2023-12-26 上海顶赞信息技术有限公司 一种拓展指令更新方法、装置、电子设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028108A (zh) * 2023-03-31 2023-04-28 深圳复临科技有限公司 一种依赖包安装用时分析方法、装置、设备及存储介质
CN117289965A (zh) * 2023-09-05 2023-12-26 上海顶赞信息技术有限公司 一种拓展指令更新方法、装置、电子设备和存储介质
CN117289965B (zh) * 2023-09-05 2024-08-30 上海顶赞信息技术有限公司 一种拓展指令更新方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10114630B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
CN113946358B (zh) 一种基于车辆管理系统的自动驾驶车辆软件远程升级方法
US9823915B1 (en) Software container format
CN109857423B (zh) 程序版本更新方法、装置、服务器及可读存储介质
KR101512611B1 (ko) 시스템 파일을 수리하기 위한 시스템 및 방법
CN103530150A (zh) 一种Linux操作系统远程更新的方法
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
CN112905230B (zh) 应用程序的管理方法、装置、终端设备和存储介质
CN111008034A (zh) 一种补丁生成方法及装置
CN113434180B (zh) 应用的数据处理方法、装置、服务器和存储介质
CN112799688A (zh) 容器应用内软件包安装方法、装置、计算机设备及介质
CN111538523A (zh) 差分升级方法、设备及存储介质
CN112286543B (zh) 一种应用服务部署方法及装置
CN112947956B (zh) 一种应用软件升级方法
CN110765394A (zh) so文件加载方法、装置、存储介质及终端设备
CN112486511A (zh) 一种通过web生成操作系统安装镜像的方法
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN112685102B (zh) 一种网关插件热加载方法、装置、设备及介质
CN119225925A (zh) 服务管理方法、装置、电子设备及存储介质
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
CN115454575B (zh) jar包转换并自动加载的方法、装置、设备及存储介质
CN111338644A (zh) 任务脚本部署方法及系统
CN113791809B (zh) 应用异常处理方法、装置以及计算机可读存储介质
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质
CN108833128A (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